Почему нам не нужен суффикс после преобразования, но во время объявления он нам нужен?
По умолчанию и в спецификациях C # каждое число имеет floating point
и будет рассматриваться как Double
переменная, поэтому вам нужно использовать суффикс F
для создания литерала для этого типа.
// 3.14 is considered a double variable by the compiler so it gives you an error
float myFloat = 3.14;
Вы можете спросить, почему двойная переменная со значением 3.14
не может быть назначена или приведена к переменной с плавающей точкой?
http://net -informations.com / q / faq / float.html
Типы переменных Decimal, Double и Float различаются втак, что они хранят значения.Точность является основным отличием, когда float - это тип данных с плавающей запятой с одинарной точностью (32 бита), double - это тип данных с плавающей запятой двойной точности (64 бита), а decimal - это тип данных с плавающей запятой 128-бит.
Float - 32 бита (7 цифр) Double - 64 бита (15-16 цифр) Основное различие заключается в том, что Float и Double являются двоичными типами с плавающей запятой, а десятичное число будет хранить значение как тип с плавающей запятой.Таким образом, десятичные дроби имеют гораздо более высокую точность и обычно используются в денежных (финансовых) приложениях, которые требуют высокой степени точности.Но с точки зрения производительности, десятичные числа медленнее, чем double и типы с плавающей запятой.
Вы также можете прочитать этот ответ.
И о Parse
метод:
float.Parse
требуется только допустимая строка, что означает, что только строка включает в себя [0-9
], знак и десятичную точку (зависит от культуры, например, [,/.
]).
Так что вам нужно всего лишь избавиться от недопустимых символов в ваших строках, а затем проанализировать их.