Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript toLocaleString-如果不是0.00,则仅显示小数_Javascript - Fatal编程技术网

Javascript toLocaleString-如果不是0.00,则仅显示小数

Javascript toLocaleString-如果不是0.00,则仅显示小数,javascript,Javascript,我正在创建一个计算器,在这里我需要格式化一些数字,我正在使用toLocaleString。我的问题是如何使它只在必要时显示小数点(即,如果数字是127.00,则显示为127,但如果是127.50,则显示为127.50) $('div')。每个(函数(){ $(this).text($(this.attr('data-val')).toLocaleString('en'){ 最小分数位数:2, 最大分数位数:2 })); }); 在toLocaleString中没有类似的选项,因此我个人会选择

我正在创建一个计算器,在这里我需要格式化一些数字,我正在使用
toLocaleString
。我的问题是如何使它只在必要时显示小数点(即,如果数字是127.00,则显示为127,但如果是127.50,则显示为127.50)

$('div')。每个(函数(){
$(this).text($(this.attr('data-val')).toLocaleString('en'){
最小分数位数:2,
最大分数位数:2
}));
});


toLocaleString
中没有类似的选项,因此我个人会选择一个显而易见的选择。ie:可能有更好的选择

此方法在小数点处拆分数字,然后检查后面的数字是否为“00”。如果是,则将文本设置为小数点之前的部分

这确实假设有一个十进制数,如果没有,则将失败。但是,检查parts.length来确定是否存在非常简单

$('div')。每个(函数(){
var formatted=$(this.attr('data-val')。toLocaleString('en'),
{最小分数位数:2,最大分数位数:2}
)
var parts=格式化的.split(“.”)
如果(parts.length>1&&parts[1]=“00”){
格式化=零件[0]
}
$(此).text(格式化);
});


toLocaleString
中没有类似的选项,因此我个人会选择一个显而易见的选择。ie:可能有更好的选择

此方法在小数点处拆分数字,然后检查后面的数字是否为“00”。如果是,则将文本设置为小数点之前的部分

这确实假设有一个十进制数,如果没有,则将失败。但是,检查parts.length来确定是否存在非常简单

$('div')。每个(函数(){
var formatted=$(this.attr('data-val')。toLocaleString('en'),
{最小分数位数:2,最大分数位数:2}
)
var parts=格式化的.split(“.”)
如果(parts.length>1&&parts[1]=“00”){
格式化=零件[0]
}
$(此).text(格式化);
});

您可以使用以下代码段:

$('div')。每个(函数(){
var formatted=$(this.attr('data-val')。toLocaleString('en'),
{最小分数位数:2,最大分数位数:2}
)
格式化=(格式化%1>0)?格式化:Math.round(格式化);
$(此).text(格式化);
});

您可以使用以下代码段:

$('div')。每个(函数(){
var formatted=$(this.attr('data-val')。toLocaleString('en'),
{最小分数位数:2,最大分数位数:2}
)
格式化=(格式化%1>0)?格式化:Math.round(格式化);
$(此).text(格式化);
});

如果您只想删除“.00”,可以替换它们

$('div')。每个(函数(){
$(this).text($(this.attr('data-val')).toLocaleString('en'){
最小分数位数:2,最大分数位数:2})
.替换('.00','');
});

如果您只想删除“.00”,可以替换它们

$('div')。每个(函数(){
$(this).text($(this.attr('data-val')).toLocaleString('en'){
最小分数位数:2,最大分数位数:2})
.替换('.00','');
});