Поле Serial было добавлено в класс Build
в уровне API 9 (Android 2.3 - Gingerbread). Документация говорит, что он представляет собой серийный номер оборудования. Таким образом, он должен быть уникальным, если он существует на устройстве.
Я не знаю, действительно ли он поддерживается (= не null) всеми устройствами с уровнем API> = 9.
Еще раз взгляните на ссылку MSDN , несколько разделов выше в том же документе:
"D" или "d"
Десятичный
Результат: Целочисленные цифры с необязательным отрицательным знаком. Поддерживается только интегральными типами. Спецификатор точности: минимальное количество цифр. Спецификатор точности по умолчанию: минимальное количество цифр. Дополнительная информация: Спецификатор формата десятичной («D»).
1234 («D») -> 1234 -1234 («D6») -> -001234
blockquote>(Emphasis mine)
Если вы хотите, чтобы три цифры в оставили десятичной точки (это то, что «D») с значением типа с плавающей запятой, вы необходимо будет использовать Custom Numeric Format String .
Cost.ToString("000.########");
Но на основании ваших комментариев вы действительно хотите, чтобы справа десятичной , в этом случае строки «F» будут работать:
Cost.ToString("F3");
И если вы беспокоитесь о начале нуля, вы можете сделать это:
Cost.ToString(".000");
Вероятно, «Стоимость» - это значение с плавающей запятой. «D» является спецификатором формата «десятичный» и не работает с поплавками. Возможно, что вам нужно в этой статье: http://msdn.microsoft.com/en-us/library/dd260048 (v = vs.110) .aspx
, основанный на вашем комментарии (4.4546 должен отображаться как строка «4.455»), это должно работать:
var cost = 4.4546d;
var ttt = cost.ToString("0.000");