大家好!
我想知道如何以两位小数返回输出。而不是10,000我希望它返回10,000.00。我已经把.toFixed(2)
放了,但它没有用。
当金额具有零以外的十进制数时,这些值会出现在打印输出上,但是当十进制数具有零值时,零点将不会出现在打印输出上。
另外,我在“Bill Credit”交易中添加了Wtax
的值。
输出:
答案 0 :(得分:3)
答案 1 :(得分:2)
你可以试试这个
var x = 1000; // Raw input
x.toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, '$1,') //returns you 1,000.00
或者你也可以使用Netsuite的货币功能
nlapiFormatCurrency('1000'); // returns you 1,000.00
nlapiFormatCurrency('1000.98'); // returns you 1,000.98
答案 2 :(得分:0)
您可以考虑以下代码。它可以根据小数位舍入十进制值。
这也解决了在舍入负值时通过在舍入之前获得第一个绝对值来解决问题的问题。如果不这样做,您将得到以下第二个样本不正确的结果。
function roundDecimal(decimalNumber, decimalPlace)
{
//this is to make sure the rounding off is correct even if the decimal is equal to -0.995
var bIsNegative = false;
if (decimalNumber < 0)
{
decimalNumber = Math.abs(decimalNumber);
bIsNegative = true;
}
var fReturn = 0.00;
(decimalPlace == null || decimalPlace == '') ? 0 : decimalPlace;
var multiplierDivisor = Math.pow(10, decimalPlace);
fReturn = Math.round((parseFloat(decimalNumber) * multiplierDivisor).toFixed(decimalPlace)) / multiplierDivisor;
fReturn = (bIsNegative) ? (fReturn * -1) : fReturn;
fReturn = fReturn.toFixed(decimalPlace)
return fReturn;
}