Литералы для чисел с плавающей точкой |
Десятичные числа с плавающей точкой записываются следующим образом: mE+p, где m - мантисса (целое или дробное число с десятичной точкой), "Е" означает "десять в степени", р - порядок (целое число):
<десятичное-число> = <мантисса> [E [+ | -] <порядок>]
<мантисса> = <целое-число> [. <целое-число>] <порядок> = <целое-число>
Начиная с Атлантис 5.3.08 тип decimal присваивается:
константе, у которой мантисса содержит дробную часть, а порядок отсутствует (т.е. есть "." и нет "E");
константе, не умещающейся в тип comp (см. "Целочисленные литералы. ").
Однако использование операции деления ("/") над такими константами без явного приведения типа вызовет приведение констант к типу double.
Параметр Compilers.DecimalConstantMode = 2 отменяет приведение констант типа decimal к типу double в операциях деления.
В остальных случаях константе с плавающей точкой присваивается тип double (в т.ч. всегда - до Атлантис 5.3.08).
Параметр Compilers.DecimalConstantMode = 0 отменяет использование типа decimal для констант. Всем константам с плавающей точкой присваивается тип double.
литерал |
тип данных |
значение в десятичном представлении |
56.724 |
double |
56.723999 |
-72.94e-1 |
double |
-7.294 |
72.94e231 |
double |
7.294E+0232 Константы типа decimal доступны начиная с Атлантис 5.3.08. |