#reactjs #axios
Вопрос:
Я хочу изменить десятичную дробь в своем сервисе или клиенте с помощью универсального решения. Я использую .Net WebAPI на моей стороне обслуживания. И я использую React.JS с axios на стороне моего клиента. У меня есть некоторые значения о деньгах в моих данных, и все они идут с (.), если это десятичное число. Например, totalDebtAmount = 54,69$, тогда я хочу показать 54,69$. И, например,если значение намного больше 1000, мое значение должно быть видно, например, 12,456, 98$. Есть ли какой-нибудь способ без string.replace (), потому что у меня так много страниц, и я не хочу использовать «метод замены» для всех моих значений раз за разом. Могу ли я изменить для него настройки visual studio или библиотеки axios? Вы можете увидеть мои примеры кодов и изображений ниже.
export const GetDebtList = (SUBSCRIBER_OID_LIST,SUBSCRIBER_INFO_OID,PAYMENT_DATE,
SuccessOperation, FailedOperation) => {
return () => {
const body = { subscriberOidList: SUBSCRIBER_OID_LIST, subscriberInfoOid:SUBSCRIBER_INFO_OID,
paymentDate:PAYMENT_DATE };
axios.post('/api/GetDebtList', body)
.then(response => {
SuccessOperation({ DEBT_LIST: response.data });
})
.catch(() => {
FailedOperation({ DEBT_LIST: null })
});
}}
Здесь мои данные и панель управления
Ответ №1:
Вы должны различать визуальную привлекательность числа и само значение. Значение всегда должно быть отформатировано в виде числа с плавающей запятой (с использованием .
) То, как вы отображаете свою валюту, зависит от местоположения пользователей. Я бы рекомендовал использовать Intl.NumberFormat
API (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat) или используйте библиотеку форматирования валюты, например Dinero.js (https://github.com/dinerojs/dinero.js) Конечно, вы уже можете выполнить форматирование на стороне сервера, но я бы рекомендовал сделать это на клиенте.
const value = 54.69;
return (
<>
{new Intl.NumberFormat('en', { style: 'currency', currency: 'USD' }).format(value)}
</>
)
Комментарии:
1. На самом деле ваше решение-это совсем не то, что я ищу . Но я решил свою проблему другим способом, используя ваше решение. Вот почему я приму ваш ответ и благодарю вас за помощь мне.