gpt4 book ai didi

php - 如何修改现有的 javascript 以显示包括美分在内的货币值?

转载 作者:行者123 更新时间:2023-11-28 21:03:54 24 4
gpt4 key购买 nike

我正在开发的一个网站(我继承的......我不太了解 javascript)当前设置的代码是在数据库中任何数字的末尾显示“.00”(PHP 包括页面,实际上),以便它在在线表单上显示为货币。

我的客户现在想要在列表中添加一个金额,其中包括美分(5.50 美元),我需要修改或修改脚本的帮助,以便我可以包含这些非完整货币金额。

这是(我认为/推测)解决货币格式问题的脚本片段:

function CurrencyFormatted(amount)
{
var i = parseFloat(amount);
if(isNaN(i)) { i = 0.00; }
var minus = '';
if(i < 0) { minus = '-'; }
i = Math.abs(i);
i = parseInt((i + .005) * 100);
i = i / 100;
s = new String(i);
if(s.indexOf('.') < 0) { s += '.00'; }
if(s.indexOf('.') == (s.length - 2)) { s += '0'; }
s = minus + s;
return s;
}

有没有办法添加或更改此代码,以便我可以显示此(以及 future 类似)金额所需的具体美分?

最佳答案

该代码正在执行一些有趣的舍入操作,我无法真正解决这些问题,但要格式化小数点右侧具有固定位数的数字,请使用 toFixed数字函数:

var n = 1.2345;
n.toFixed(2); // "1.23"

请注意,它会进行舍入,因此:

(1.234).toFixed(2); // "1.23"
(1.235).toFixed(2); // "1.24"

(当您对变量调用 toFixed 时,不需要括号,但当对文字调用它时,您确实需要它们,就像我在上面两个示例中所做的那样。当然,在您的情况下,您将使用变量,因此不需要它们。)

<小时/>

在下面回复您的评论/问题:

Thanks for the quick replies! I guess I should have said I don't know javascript AT ALL, so my questions are: 1) where do I insert the codes you offer above into my existing code...

1)您在问题中引用的代码正在对输入的数字进行一系列操作,包括在尝试将其四舍五入到两位数之前添加半美分(以非常非最佳的方式)。如果现在的目标是忠实地再现输入数字的四舍五入到两位数的版本(这些都不会添加半美分的东西),您可以用以下内容替换整个函数:

function CurrencyFormatted(amount)
{
return parseFloat(amount).toFixed(2);
}

如果你想继续加半分钱:

function CurrencyFormatted(amount)
{
return (parseFloat(amount) + 0.005).toFixed(2);
}

...and 2) will this allow all of my existing other numbers to continue displaying as they are (e.g. "25" in my include file displays as "25.00")?

您输入到上面的任何数字(或数字字符串)都将被格式化为小数点右侧两位数字,即使这些数字是00。因此,根据上述内容,CurrencyFormatted("25") 将返回 "25.00"

...Or do I use this code you suggest to replace part or all of the sample code I posted, and thus, would I then need to change all my database numbers to accommodate this? (i.e. should I add two zeros to the end of all my whole numbers now? (25 becomes 2500, etc.)

您不需要将 .00 添加到数据库中的整数或类似的内容。

关于php - 如何修改现有的 javascript 以显示包括美分在内的货币值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10331318/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com