-1

例如 :

Var1 = 289.56

我使用这个公式:

foundStr = Var1.match("[0-9]+\.[0-9]+");
Price( parseFloat(foundStr).toFixed(2) );

但是当Var1 > 999.99(示例:2,356.21)

找到字符串的脚本是什么?

foundStr = Var1.match(??);

谢谢

4

3 回答 3

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
于 2012-07-20T17:45:51.137 回答
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);
于 2012-07-20T18:15:07.817 回答
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,此方法都将有效。

于 2012-07-20T17:55:53.267 回答