number.toLocaleString () не работает в реактивной - PullRequest
1 голос
/ 24 октября 2019

number.toLocaleString() не работает в react-native, может кто-нибудь предложить лучший способ отформатировать валюту в реагирующем, код идет здесь

formatMoney(number) {

        if(number===undefined||number===null)
        {
            return 0
        }
        else
        {
            var n=number.toString
            var obj={
                style:'currency',
                currency:'GBP'
            }
            'use strict'
           return n.toLocaleString('en-GB', { style: 'currency', currency: 'GBP' });
        }
      }

Ответы [ 2 ]

1 голос
/ 24 октября 2019

Вы хотите использовать функцию Number.toLocaleString , поэтому вам нужно убедиться, что вы вызываете ее по номеру, а не по строке. Смотрите пример ниже:

var n = 5555;
//var n=number.toString(); remove this line
var obj={
    style:'currency',
    currency:'GBP'
}

formatted = n.toLocaleString('en-GB', { style: 'currency', currency: 'GBP' });
console.log("formatted",formatted);
1 голос
/ 24 октября 2019

Вы можете использовать эту библиотеку формат числа-ответа . Он имеет следующие функции:

  1. Префикс, суффикс и разделитель тысяч.
  2. Шаблон пользовательского формата.
  3. Маскировка.
  4. Обработчик пользовательского форматирования.
  5. Форматирование числа во входных данных или форматирование в виде простого текста

Пример использования

<NumberFormat value={2456981} displayType={'text'} thousandSeparator={true} prefix={'$'} />

Вывод: $ 2,456,981

...