如何格式化美元? [复制]
Posted
技术标签:
【中文标题】如何格式化美元? [复制]【英文标题】:How to format a dollar? [duplicate] 【发布时间】:2011-07-17 11:11:51 【问题描述】:可能重复:How can I format numbers as money in javascript?
我正在做一个除法和乘法来计算一个字段的值,这个值看起来像这样
$32560.000000000004.00
我正在设置这样的值
sq_footage = $("#sq_footage").val();
sq_footage_total = (((sq_footage / 36) * factor) * average )* 30;
if(factor != "")
$("#new_calc").val("$" + sq_footage_total + ".00");
有没有办法像这样格式化
$32,560.00
【问题讨论】:
来自快速谷歌搜索:plugins.jquery.com/plugin-tags/currency-money-format ***.com/questions/149055/… google.com/… 【参考方案1】:您的标签表明您正在使用 jquery - 所以您可以使用 jQuery Format Currency Plugin
【讨论】:
【参考方案2】:我知道这个问题之前已经解决了,但我的解决方案只是为了好玩:
function formatDollar(num)
var p = num.toFixed(2).split(".");
return ["$", p[0].split("").reverse().reduce(function(acc, num, i)
return num + (i && !(i % 3) ? "," : "") + acc;
, "."), p[1]].join("");
还有一些测试:
formatDollar(45664544.23423) // "$45,664,544.23"
formatDollar(45) // "$45.00"
formatDollar(123) // "$123.00"
formatDollar(7824) // "$7,824.00"
formatDollar(1) // "$1.00"
formatDollar(939,009) // ?
function formatDollar(num)
var p = num.toFixed(2).split(".");
return ["$", p[0].split("").reverse().reduce(function(acc, num, i)
return num + (i && !(i % 3) ? "," : "") + acc;
, "."), p[1]].join("");
const tests = [
input: 45664544.23423,
expected: "$45,664,544.23"
,
input: 45,
expected: "$45.00"
,
input: 123,
expected: "$123.00"
,
input: 7824,
expected: "$7,824.00"
,
input: 1,
expected: "$1.00"
,
input: -939009,
expected: "-$939,009.00"
]
tests.forEach(test =>
const input, expected = test
const actual = formatDollar(input)
if (expected !== actual)
console.log(`Failed: $input. Expected $expected; actual: $actual`)
else
console.log(`Passed: $input`)
)
【讨论】:
以上是关于如何格式化美元? [复制]的主要内容,如果未能解决你的问题,请参考以下文章