2013-08-14 2 views
3

Веб-сервис JSON: Какой способ вывода валюты?Валюта как строка или валюта как номер?

В строке ИЛИ

"Amount": "100.12345" 

как номер?

"Amount": 100.12345 

PaySal и Google Checkout выводят json как строку. Зачем?

+0

Это зависит от варианта использования. String + является конкатенацией, хотя некоторый лавочник может наслаждаться тем, что $ 3, плюс $ 4, составляет $ 34, шутка будет только смешной один раз. Единственное плохое в цифрах - это часто нужно округление. Тем не менее я бы пошел с номером. – Paul

ответ

2

Я бы сделал целое число центов, чтобы оно было максимально простым.

"Amount": 1045 

... 

var amount = json.amount/100; 

... 

amount === 10.45 
+0

Вы также можете включить свойства «валюта»: «US $» и «currencyScale»: 0,01 – Paul

1

На мой взгляд, использовать номер до тех пор, пока синтаксический анализ на C# не будет десятичным (не двойным). Для получения дополнительной информации вы можете посмотреть здесь Why not use Double or Float to represent currency?

Если вы используете JSON.NET см этой теме Json.NET Primitive Types - use Decimal instead of Double

В JavaScript это не имеет значения, что вы используете.

Смежные вопросы