#javascript
#javascript
Вопрос:
Изо всех сил пытаясь найти правильное решение здесь, используя приведенный ниже код, я получаю следующий результат:
parseFloat(value).toLocaleString('en-GB')
10000 => 10,000
512.25 => 512.25
512.20 => 512.2
Чего я ожидал бы, так это:
10000 => 10,000
512.25 => 512.25
512.20 => 512.20
Изменив JavaScript на приведенный ниже, исправляет 512.20
, но тогда я получаю 10,000.00
то, чего не хочу!
parseFloat(value).toLocaleString('en-GB', { style: "currency", currency: "GBP" })
Комментарии:
1. Быстрое и грязное решение — просто заменить строку
.00
Редактировать: на самом деле, вы делаете это с несколькими валютами? (Так что у вас было бы,00
или.00
? Если это так, стоит упомянуть об этом в вопросе)2. Как насчет использования
.replace(/.0 $/, '')
в результате? Использование00
вместо0
должно тоже работать — до тех пор, пока есть две минимальные дробные цифры.
Ответ №1:
let b = 512.30;
let c = b.toFixed(2).toLocaleString('en-GB')
console.log(c)
Комментарии:
1.
parseFloat('10000').toFixed(2).toLocaleString('en-GB')
= 10000.00, не работает2. Прочитайте вопрос еще раз.