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','');
});代码>