Javascript 在JS中格式化定价数据的双值

Javascript 在JS中格式化定价数据的双值,javascript,Javascript,我有一个定价表,我想转换如下所示的数据。 除了使用mod和if条件外,还有其他具体的方法吗 原始输入=我需要的输出 123.0=123 22.2=22.2 22.21=22.21 这是针对javascript而不是Java的。只需执行一个toString()即可避免像这样在小数点后拖尾零 var n = 123.0; n = parseFloat(n.toString()) //outputs 123 从中找出一种方法 function removeTraillingZeroes( n ){

我有一个定价表,我想转换如下所示的数据。 除了使用mod和if条件外,还有其他具体的方法吗

原始输入=我需要的输出

123.0=123

22.2=22.2

22.21=22.21

这是针对javascript而不是Java的。

只需执行一个
toString()
即可避免像这样在小数点后拖尾零

var n = 123.0;

n = parseFloat(n.toString()) //outputs 123
从中找出一种方法

function removeTraillingZeroes( n ){ return parseFloat(n.toString())  }

removeTraillingZeroes( 123.3430 ); //outputs  123.343

removeTraillingZeroes( 123.330 ); //outputs  123.33
注意-如果要使用相同的变量,则需要将值赋回n

var n = 123.0;
n = removeTraillingZeroes( n ); //outputs 123
console.log(n);

只需返回值

var数组=[123.0,22.2,22.21];

document.write(数组.join(“
”)那么您面临的问题是什么?似乎可行……;)是的,有mod操作和一个条件,但只是想验证是否存在已定义的方法或方法好的,让我直截了当地问一下,您尝试了什么?可能您的
Number#toString()
过载。
22.2=22.2
不匹配。海报上的要求很有趣。@Jai,要求已经改变了。是的!同意,我看到当时发布的是
22.2=22.20
。@Jai因为小数点后只有尾随的零被删除,我认为这不会影响任何定价计算。除非我遗漏了一些明显的东西。n=parseFloat(n.toString())//输出123.0不是123@user1269524哪个浏览器?我在chrome上测试了它,它只输出123。我在一个jaggeryjs项目上工作,也许这是一个问题,我会检查,谢谢你的回复