我需要在autonnumeric javascript中创建一个格式,执行以下操作:
如果文本框的输入值是87
,保持不格式化:87
如果输入值为87.6
,则为:87.60
如果输入值为87.65
,则显示为:87.65
如果输入值为87.654
,则显示为:87.654
如果输入值为87.6543
,则将其四舍五入或截断:87.654
如果输入值为87.65432
,再次四舍五入或截断为87.654
除了输入值为87.6
的情况外,我已经解决了所有问题。格式化的值仍然是87.6
,但我希望它是87.60
,因为它是一种货币,可以有2个或更多的小数点,但永远不会只有1。
如果你在纯JavaScript中做这些操作你可以使用Number.prototype.toFixed
(23.2).toFixed(2); // 23.20
不知道你说的" I have to use AutoNumeric "是什么意思——也许你可以在你的原始帖子中详细说明一下?
否则,您可以使用regex来检查是否有一个小数点,然后使用Number.toFixed()来确保它有两个小数点,如果只有一个。
let v = 87.6
var regexp = /^d+.d{1}$/;
// returns true
if (regexp.test(v)) {
v = v.toFixed(2)
}