我有一个显示JSON数据的表。我需要用小数显示数值,如何实现?result.price
表示价格。Component
是价格的乘数。
我的桌子:
<tbody>
{this.state.data.map((result) => {
return (
<tr>
<td>{result.name}</td>
<td> {result.price * component} €</td>
</tr>
)
})}
</tbody>
我看到你在试图格式化货币。也许你可以看看包react currency格式,使用这些格式会让你的生活更轻松;你甚至可以添加你选择的货币符号。
对于您的用例,它将类似于:
import CurrencyFormat from 'react-currency-format';
<tbody>
{this.state.data.map((result) => {
return (
<tr>
<td>{result.name}</td>
<td><CurrencyFormat value={result.price * component} displayType={'text'} thousandSeparator={true} suffix={'€'} fixedDecimalScale={true} decimalScale={2} /></td>
</tr>
)
})}
你可以试试这个:
// create a function to convert your number:
const formatMoney = (num: Number) => "R$ " + num.toFixed(2).replace('.', ',').replace(/B(?=(d{3})+(?!d))/g, ".");
const formatMoney2 = (num: Number) => "$ " + num.toFixed(2).replace(/B(?=(d{3})+(?!d))/g, ".");
// call the function with param
formatMoney(result.price * component)
您不需要导入反应货币格式