Что касается .NET и, в частности, C #, нет, System.Decimal
не использует FPU, потому что тип эмулируется в программном обеспечении.
Также System.Decimal
равно aЧисло с плавающей запятой, а не число с фиксированной точностью, как обычно встречается в базе данных.Тип на самом деле представляет собой десятичную с плавающей запятой , которая использует 10 для своей базы, в отличие от двоичной плавающей запятой (то есть System.Single
или System.Double
), которая использует 2 в качестве своей базы.У него все еще есть те же проблемы точности, если вы пытаетесь сохранить дробь, которая не может быть точно представлена, например, 1/3.