Reactjs 在React中用逗号分隔价格/数字

Reactjs 在React中用逗号分隔价格/数字,reactjs,comma,price,Reactjs,Comma,Price,我正在为我的投资组合克隆亚马逊。有这样一个价格:price={37.84}。我希望价格显示如下:price={37,84}。出现的价格是84。是否有办法将价格显示为37,84 代码: 产品组成: import React from "react"; import "./Product.css"; import { useStateValue } from "./StateProvider"; function Product({

我正在为我的投资组合克隆亚马逊。有这样一个价格:
price={37.84}
。我希望价格显示如下:
price={37,84}
。出现的价格是84。是否有办法将价格显示为
37,84

代码:


产品组成:

import React from "react";
import "./Product.css";
import { useStateValue } from "./StateProvider";

function Product({ id, title, image, price, rating }) {
  const [{ basket }, dispatch] = useStateValue();

  const addToBasket = () => {
    // dispatch the item into the data layer
    dispatch({
      type: "ADD_TO_BASKET",
      item: {
        id: id,
        title: title,
        image: image,
        price: price,
        rating: rating,
      },
    });
  };

  return (
    <div className="product">
      <div className="product__info">
        <p>{title}</p>
        <p className="product__price">
          <small>€</small>
          <strong>{price}</strong>
        </p>
        <div className="product__rating">
          {Array(rating)
            .fill()
            .map((_, i) => (
              <p>Use 
price={"37,84"}
to display it as a string.

Or if you have a variable containing a price use this:

price={price.replace('.', ',')}
从“React”导入React;
导入“/Product.css”;
从“/StateProvider”导入{useStateValue};
功能产品({id,title,image,price,rating}){
const[{basket},dispatch]=useStateValue();
常量addToBasket=()=>{
//将项目分派到数据层
派遣({
键入:“将_添加到_篮中”,
项目:{
id:id,
标题:标题,,
图像:图像,
价格:价格,
评级:评级,
},
});
};
返回(
{title}

{price}

{数组(额定值) .fill() .map((u,i)=>( 使用
price={“37,84”}
将其显示为字符串

或者,如果您有一个包含价格的变量,请使用以下命令:

String(price).split(".").join(",")
String(price).replace(".", ",")

有两种方法可以解决这个问题,方法基本相同:将浮点转换为字符串并替换点

> 37.84.toLocaleString("en-de");  // based on your profile
"37,84"

这应该是可行的:)

使用逗号作为十进制分隔符在JavaScript代码中不受支持,在数字文本中不能使用逗号。但是,您可以使用区域设置功能将数字格式化为字符串,例如使用数字的:

如果您尝试使用逗号,则它是最右边的值:


我想我们需要更多的信息。产品组件做什么?产品组件被添加了。
> 37.84.toLocaleString("en-de");  // based on your profile
"37,84"
> 37,84
84