如果价格以',00'结尾,我想删除价格后的小数。如果结束于其他任何事情,则应保留。我必须能够看到价格的最终价格,但是如何用Javascript实现呢?
我的想法是检查价格是否在00时结束并在if语句中将其删除。
function gformFormatMoney(text, isNumeric){
if(!gf_global.gf_currency_config)
return text;
var currency = new Currency(gf_global.gf_currency_config);
var unformatted = currency.toMoney(text, isNumeric);
var formatted;
var formatting = unformatted%10;
if(formatting == 00) {
}
return unformatted;
}
^这会产生错误“不允许带0的杂物”
答案 0 :(得分:1)
您需要将数字解析为浮点数,将其固定为2个小数(在所有情况下),并删除(.00)
的所有匹配项。这样的事情可能会起作用:
function fixFloat(num){
return parseFloat(num).toFixed(2).replace('.00', '');
}
console.log(fixFloat(20.00));
console.log(fixFloat(40.40));
console.log(fixFloat(30.01));
请注意,这将返回 字符串 。如果您希望将其转换回数字,则需要再次对其进行解析。
答案 1 :(得分:0)
如果数据类型不是字符串,则十进制后的尾随零将被删除。如果是字符串,请使用parseInt
转换为数字
let price = 20.00;
console.log(price)
let price1 = '40.00'
console.log(parseInt(price1, 10))
let price2 = '40.00'
console.log(parseFloat(price2, 10))
答案 2 :(得分:0)
您应该使用toFixed。
至:
final TransactionBuilder builder = new TransactionBuilder(notary)
.addInputState(inputStateAndRef);
答案 3 :(得分:0)
结果不是整数,而是字符串。
我通过以下方式修复了该问题:
function gformFormatMoney(text, isNumeric){
if(!gf_global.gf_currency_config)
return text;
var currency = new Currency(gf_global.gf_currency_config);
var unformatted = currency.toMoney(text, isNumeric);
var formatted = unformatted.replace(',00', '');
return formatted;
}