我的API正在发送React整数10, 31312, 4000.
在我的React组件中,格式化这些数字的正确方法是这样的:
from: 10, 31312, 4000
to: 10, 31,312, 4,000
Run Code Online (Sandbox Code Playgroud)
谢谢
UPDATE
该数字由我的Rails API提供,并在React组件中呈现:
const RankingsList = ({rankings, currentUserId}) => {
return (
<div className="listGroup">
{rankings.map((ranking, index) =>
<span className="number">{ranking.points}</span>
)}
</div>
);
};
Run Code Online (Sandbox Code Playgroud)
Tim*_*mes 33
我有一个类将一个数字转换为31,312或者31,312.00.
代码非常多;
return value.toLocaleString(navigator.language, { minimumFractionDigits: 2 });
和
return value.toLocaleString(navigator.language, { minimumFractionDigits: 0 });
所以你可以toLocaleString用来转换.
更新
根据你的例子,它将是(假设点是一个数字);
const RankingsList = ({rankings, currentUserId}) => {
return (
<div className="listGroup">
{rankings.map((ranking, index) =>
<span className="number">{ranking.points.toLocaleString(navigator.language, { minimumFractionDigits: 0 })}</span>
)}
</div>
);
};
Run Code Online (Sandbox Code Playgroud)
但是,您可能只想将其移动到一个名为的较小组件NumberDisplay和一个显示/隐藏小数点的属性中
has*_*abi 21
你可以找到一个通用的JS解决方案:
的toLocaleString:
// A more complex example:
number.toLocaleString(); // "1,234,567,890"
// A more complex example:
var number2 = 1234.56789; // floating point example
number2.toLocaleString(undefined, {maximumFractionDigits:2}) // "1,234.57"
Run Code Online (Sandbox Code Playgroud)
NumberFormat(不支持Safari):
var nf = new Intl.NumberFormat();
nf.format(number); // "1,234,567,890"
Run Code Online (Sandbox Code Playgroud)
来源:https://stackoverflow.com/a/32154217/6200607
var number = 1234567890; //要转换的示例号
⚠请注意,javascript的最大整数值为9007199254740991
其他方案:
https://css-tricks.com/snippets/javascript/comma-values-in-numbers/
2345643.00将返回2,345,643.00
小智 5
export const formatNumber = inputNumber => {
let formetedNumber=(Number(inputNumber)).toFixed(2).replace(/\d(?=(\d{3})+\.)/g, '$&,');
let splitArray=formetedNumber.split('.');
if(splitArray.length>1){
formetedNumber=splitArray[0];
}
return(formetedNumber);
};
Run Code Online (Sandbox Code Playgroud)
请注意,我忽略了小数点
| 归档时间: |
|
| 查看次数: |
26334 次 |
| 最近记录: |