为了账号安全,请及时绑定邮箱和手机立即绑定

如果数字不是整数,则将字符串转换为带小数位的数字

如果数字不是整数,则将字符串转换为带小数位的数字

PHP
手掌心 2023-04-28 17:15:47
这是一个 PHP 和 JS 问题。我从一个将它们作为字符串返回的 API 中获取了一堆价格。“62.50”、“16.67”、“150.00”我需要做的是,使用 PHP,将它们转换为 a) 如果小数点后的数字为 00,则为数字/整数 b) 将 0 保留为一位小数 0。“62.50”=> 62.50 “16.67”=> 16.67 “150.00”=> 150然后我要做的是,使用 JS,包括货币。addCurrency: function(price, currencyCode) {        return parseFloat(price).toLocaleString(navigator.language, {            style: 'currency', currency: currencyCode, minimumFractionDigits: 0, maximumFractionDigits: 2        });    }我在价格等方面尝试了很多变化floatvar,(float)但唯一的问题是“62.50”变成了 62.5有什么想法吗?
查看完整描述

2 回答

?
牛魔王的故事

TA贡献1830条经验 获得超3个赞

addCurrency: function(price, currencyCode) {

        return parseFloat(price).toLocaleString(navigator.language, {

            style: 'currency', currency: currencyCode, minimumFractionDigits: Number.isInteger(parseFloat(price)) ? 0 : 2, maximumFractionDigits: 2

        });

    }

设置minimumFractionDigits为Number.isInteger(parseFloat(price)) ? 0 : 2,这将使它工作


查看完整回答
反对 回复 2023-04-28
?
猛跑小猪

TA贡献1858条经验 获得超8个赞

自定义修饰符 你可以试试


const result = ['62.50', '150.00'].map(el => {

    if(el.split('.')[1] === '00') {

    return el.split('.')[0]

}

return el;

})

console.log(result)


返回编号:


const result = ['62.50', '150.00'].map(el => {

    if(el.split('.')[1] === '00') {

    return Number(el.split('.')[0])

}

return Number(el);

})

console.log(result)


查看完整回答
反对 回复 2023-04-28
  • 2 回答
  • 0 关注
  • 91 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信