我可以检查一下JavaScript中的整数以什么结尾

时间:2019-03-06 11:10:05

标签: javascript gravityforms

如果价格以',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的杂物”

4 个答案:

答案 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;
}