JavaScript中的简单数据验证和数学运算

时间:2011-02-11 15:41:16

标签: javascript math

我需要创建一个简单的计算器来计算用户提交的值的1%。我还需要将它(地板)绕到结肠后的第十部分。

示例:

input    1%        output
12.34    0.1234    0.10
2345.34  23.4534   23.40

更多信息:
- 用户将提交货币价值。他们可以使用点或逗号分隔值的各个部分。输入123.45123,45均有效 - 我需要计算1%,围绕它并以“用户友好”的形式显示,例如XX.YY

到目前为止我创建了以下功能。但它以奇怪的方式围绕价值。例如,对于输入“123.45”,输出为1.2000000000000002(应为1.20)。

function calc(val)
{
var x = 0.1*Math.floor(0.1*val);
alert("your 1% is:\n"+x);
}

Javascript仅将带点的值视为数字。如何轻松地将逗号值转换为数字?

如何以理想的精度显示结果?

1 个答案:

答案 0 :(得分:4)

val = parseFloat(val.toString().replace(",", ".")); // just replace comma with dot
var x = (0.1*Math.floor(0.1*val)).toFixed(2); // toFixed leaves required amount of digits after dicimal dot.
alert("your 1% is:\n"+x);