[英]Converting string to number with decimal places if the number isn't whole
這既是 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
有什么想法嗎?
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
Number.isInteger(parseFloat(price))? 0: 2
,這將使它工作
自定義修飾符你可以試試
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)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.