我想使用javascript验证一个四舍五入到2位的文本框

问题描述

||| 我想验证一个四舍五入到小数点后两位的文本框。但是,我不想四舍五入。 例如;如果我输入19.999,则结果将是19.99,而不是20.00 如果我输入19.7,则结果将是19.70。如果我输入19,则结果将为19.00 toFixed()函数在我的代码中不起作用。 有人可以帮我吗?     

解决方法

function withPrec(number,digitsAfterComma) {
    if (digitsAfterComma <= 0 || digitsAfterComma > 10) return number; // bad args
    var str = String(number);
    var comma = str.indexOf(\'.\');
    var zeroes = \'0000000000\'.substring(0,digitsAfterComma);
    return (comma == -1) ? 
        str + \'.\' + zeroes : (str + zeroes).substring(0,comma + digitsAfterComma + 1);
}    
使用子字符串来避免构建中间数组。 用作
withPrec(10.00001,2)
withPrec(1,5)
;     ,
var string = \"19.99999\";
var newString = string.split(string.indexOf(\'.\') + 2)[0];
    ,尝试像
parseInt(19.999 * 100)/100
如果您想获得
19.7
19.70
,请使用以下代码,
var num = parseInt(19.7 * 100).toString();
num = num.substring(0,num.length-2) +\".\"+ num.substring(num.length-2,num.length);
    ,更好地回答其他问题: 使用Number(aNumber).toFixed(2)     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...