Как определить и отформатировать числа с помощью JavaScript - PullRequest
0 голосов
/ 05 мая 2018

Моя проблема возникает по какой-то случайной причине: большинство графических библиотек не используют интернализацию валют, поэтому значения, которые я хочу прочитать и перенести в графики, уже отформатированы с использованием моей местной валюты, которую уже много раз пытались решить. но мне и не удалось найти возможное и наиболее вероятное решение, которое работает следующим образом:

1,00 | 1
10,00 | 10
500,00 | 500
5.000,00 | 5000
70.000,00 | 70000
900.000,00 | 900000
1.000.000,00 | 1000000

Особенно, когда я устанавливал эти значения в строках, я хотел удалить все точки с запятой и последние два числа в значениях ниже, почему, если я просто удалю запятые, график будет читать только как значение 100 или 1000, например:

1,00 => 1
10,00 => 10

И так далее, любое число, которое следует после запятой, должно быть удалено, и в начале должны быть удалены только точки ...

Краткая демонстрация того, как результат на моем графике:

http://jsfiddle.net/Qa2Tx/29/

Если вы знаете какой-либо способ форматирования чисел этой работы, не касаясь запятых и точек моей местной валюты, я взорвусь от радости, но если вы сможете форматировать только так, как я упоминал выше, я буду чрезвычайно счастлив и поблагодарить вас за два дня Я пытаюсь решить это: D

1 Ответ

0 голосов
/ 05 мая 2018

Я сделал небольшую демонстрацию того, что вы можете сделать. Вы можете использовать функцию split() для разделения на ,. Это разделит значение на стороны

10,00 => ['10', '00']

И вы можете просто нацелить первую часть после разделения

Это демонстрационная версия только для одного значения

var value = '1.000,00';

console.log(value.split(',')[0]);

Эта демонстрация также удаляет . и превращает значение в число.

var value = '1.000,00';

console.log(Number(value.split(',')[0].replace(/[^0-9]+/g,"")));

Эта демонстрация представляет массив значений

var arr = ['1,00',
'10,00',
'500,00',
'5.000,00',
'70.000,00',
'900.000,00',
'1.000.000,00']

arr.map(value => console.log(Number(value.split(',')[0].replace(/[^0-9]+/g,""))))

Надеюсь, это поможет:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...