Черт, нет, абсолютно, и вопросы ортогональны, в этом порядке. : -)
Числа с плавающей запятой, особенно в двоичном виде, никогда не являются правильным выбором для количеств с фиксированной запятой, в наименьшей степени из тех, которые ожидают точных дробей, таких как денежные значения. Прежде всего, они не точно выражают все значения центов (или любого другого дробного компонента), так же как десятичные числа фиксированной длины не могут правильно выражать 1/3
. Во-вторых, сложение или вычитание маленьких и очень больших чисел с плавающей запятой не всегда дает ожидаемый результат из-за различий в «значимости».
Десятичные числа - это способ расчета валют. Если вам абсолютно необходимо использовать двоичные числа, используйте масштабированные двоичные числа с фиксированной запятой - например, вычислите все в 1/100 вашей валютной единицы и используйте двоичные целые числа, чтобы сделать это.
Наконец, это не имеет ничего общего с «надежностью» или «стандартизацией» - оно имеет все, что нужно для выбора типа данных, который соответствует вашим данным.