#javascript #parsing #numbers #comma
Вопрос:
Кто-нибудь знает, как сделать число из строки с разделителями запятых в JS. Я получил: «23,21», и я хочу получить его в виде числового значения.
«23,21» —> 23,21
Комментарии:
1. Это невозможно. Число имеет точку в качестве десятичного разделителя. Вы можете конвертировать
"23,21"
—> >23.21
или"23.21"
—> >23.21
.
Ответ №1:
Проверьте, хотите ли вы этого.
var str = '23,21';
console.log((str.split(",").map((i) => Number(i))));
Ответ №2:
Вы можете использовать https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseFloat
Но прежде вам нужно заменить запятую на точку.
parseFloat('23,21'.replace(/,/, '.')); // == 23.21
let x = '16,5';
parseFloat(x.replace(/,/, '.')); // == 16.5
Комментарии:
1. Ваш код не работает: jsfiddle.net/02tjm3vs
2. Этот код преобразует
"23,21"
—> >23.21
. Вопрос не в этом.3. @jabaa ты прав, мой плохой. Исправил это.
4. Ты не можешь это исправить. Это невозможно
5. Это буквально решение, которое вы предложили в комментариях, и Томаш одобрил, что оно решило его проблему.
Ответ №3:
Вы можете, но не с помощью «запятой» (,). В некоторых странах люди действительно используют запятые вместо точек для написания десятичных знаков. Если это так, то что вы можете сделать, так это:
let a = "23,25";
let b = a.replaceAll(',', '.');
console.log(parseFloat(b));
Но делать это с запятой тоже не неправильно. Но вы получите только часть до десятичной дроби.
т. е. 23 в вашем случае