例如:
Var1 = 289.56
我使用这个公式:
foundStr = Var1.match("[0-9]+\.[0-9]+");
Price( parseFloat(foundStr).toFixed(2) );
但Var1 > 999.99
时(例如:2,356.21)
什么是脚本找到字符串?
foundStr = Var1.match(??);
谢谢
答案 0 :(得分:3)
你已经有了一个数字变量,为什么要搞乱字符串呢?
var number1 = 289.56;
if (number1 > 999.99) {
// do whatever
}
如果您要尝试舍入,请改用Math.floor:
var number1 = 289.56485345734593453;
var roundedNumber1 = Math.floor(number1 * 10) / 10; // two decimal points
答案 1 :(得分:0)
我想你只是想删除逗号并检查它是否是浮点数,但很难根据你的问题来判断。这样的事情怎么样:
var Var1 = "1,234.567";
var parsed = parseFloat(Var1.replace(",",""), 10);
if (isNaN(parsed)) {
// its not a valid number, so deal with it as needed
}
else {
// parsed now holds your Number, so use it
}
无论数字是否> = 1000,此方法都可以使用。
答案 2 :(得分:0)
var Var1 = "2,356.21";
foundStr = String(Var1.match(/([0-9]{1,3},)?[0-9]{0,3}\.[0-9]+/g)).replace(/,/g, "");
var result = parseFloat(foundStr).toFixed(2);