Может кто-нибудь сказать мне, почему:
var nl = Convert.ToInt64("17029268.1650117");
терпит неудачу, и вместо этого вы должны сделать это:
var nl = Convert.ToInt64(Convert.ToDouble("17029268.1650117"));
Потому что это кажется таким глупым!
руководство говорит:
FormatException: Значение не состоит из необязательного знака, за которым следует последовательность цифр (от нуля до девяти).
FormatException:
не состоит из необязательного знака, за которым следует последовательность цифр (от нуля до девяти).
и . не входит в a sequence of digits.
.
a sequence of digits
Вы, вероятно, также должны использовать long.Parse (str)
Длинное - это целое число, поэтому чувак не может иметь десятичных дробей. (пытался рассказать в твиттере :))