Jquery оставить только два числа после запятой - PullRequest
0 голосов
/ 10 марта 2019

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

56,883.90,607,219,945
5,327.078,363,188,421
1688.7000000000003
2,739.272

Теперь я попробовал несколько вещей, в том числе Number(number).toFixed(2) и т. Д. Но некоторые части, например, обрезались бы.

  1. Первое число выше вернуло бы> "56.00",Хотя мне нужно, чтобы он вернул 56,883.90
  2. Вернул бы> "5.00", Хотя мне нужно, чтобы 5,327.07
  3. вернул бы то, что я ожидал "1688.70"
  4. Был быreturn "2.00" вместо 2,739.27

Теперь я понимаю, в чем проблема, после этого берется запятая и число поворотов, есть ли способ специально захватить только 2 числа после DOT?

Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 10 марта 2019

Использование Regex :

'56,883.90,607,219,945'.replace(/(\..{2}).*/,'$1')

Что соответствует всем вашим ожидаемым результатам:

56,883.90,607,219,945  => 56,883.90
5,327.078,363,188,421  => 5,327.07
1688.7000000000003     => 1688.70 (it will not add comma)
2,739.272              => 2,739.27

function changeToNumber(str) {
  return str.replace(/(\..{2}).*/, '$1');
}

var input = ['56,883.90,607,219,945',
  '5,327.078,363,188,421',
  '1688.7000000000003',
  '2,739.272'
]

input.forEach(function(value) {
  console.log(changeToNumber(value));
});
0 голосов
/ 10 марта 2019

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

Number('5,327.078'.replace(/,/g, ''))

console.log(Number('5,327.078'.replace(/,/g, '')).toFixed(2));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...