Cześć,
Chciałem Was zapytać czy jest jakaś prosta metoda która zamieni mi ',' na '.' w typie decimal? Próbuję to zrobić na różne sposoby i jak mi się udaje to tylko dla przypadku kiedy zamienię decimala na stringa i zwrócę strina albo znalazłem też sposób że daję decimala ale po zamianie dostaję stringa. Natomiast ja potrzebuję metody która na wejściu przyjmie typ decimal i odda mi również typ deciaml która zamiast ',' (comma) jako separator będzie miał '.' (dot).
0
- Rejestracja:ponad 9 lat
- Ostatnio:11 miesięcy
- Postów:1788
0
Możesz zamienić przecinki na kropki:
parseFloat('12345678,90'.replace(',', '.'));
// 12345678.9
** Źle przeczytałem, ale funkcje zostawie, może się przyda**
W js jest typ float i separatorem jest .
i nie da się tego zmienić. Możesz jedynie wpłynąć na reprezentacje twojej liczby w postaci tekstu, czyli:
/**
* @param float n: number
* @param integer l: length of decimal
* @param integer x: length of whole part
* @param mixed s: sections delimiter
* @param mixed c: decimal delimiter
*/
function numberFormat(n, l, x, s, c) {
var re = '\\d(?=(\\d{' + (x || 3) + '})+' + (l > 0 ? '\\D' : '$') + ')',
num = n.toFixed(Math.max(0, ~~l));
return (c ? num.replace('.', c) : num).replace(new RegExp(re, 'g'), '$&' + (s || ','));
}
numberFormat(12345678.9, 2, 3, '.', ','); // "12.345.678,90"
numberFormat(123456.789, 4, 4, ' ', ':'); // "12 3456:7890"
numberFormat(12345678.9, 0, 3, '-'); // "12-345-679"
edytowany 1x, ostatnio: Desu
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.