Десятичное число сохраняет точность проанализированной строки в C #? Каковы последствия?

Во время разговора по IRC кто-то указал на следующее:

decimal.Parse("1.0000").ToString() // 1.0000
decimal.Parse("1.00").ToString() // 1.00

Как / почему десятичный тип сохраняет точность (или, скорее, значащие числа), как это? У меня создалось впечатление, что эти два значения равны, а не различны.

Это также вызывает дополнительные вопросы:

  • Как определяется ли количество значащих цифр во время математических операций?
  • Сохраняется ли количество значащих цифр во время сериализации?
  • Влияет ли текущая культура на то, как это обрабатывается?
15
задан Polynomial 2 January 2012 в 22:18
поделиться