2013-04-04 4 views
1

Я использую строку формата F2 для преобразования двойного значения. Я получаю отформатированное значение как 9999.00, если двойное значение равно 9999Float Precision Format для подавления конечных нулей

Какую строку формата следует использовать, чтобы избежать обнуления нулей в 9999.00?

Чтобы быть более ясным, выход что мне нужно, когда, учитывая аргументы слева я получаю выходы на право

1.211 -> 1.21 
1.245 -> 1.25 
1.1 -> 1.1 
1  -> 1 

Есть ли стандартный формат строки, чтобы сделать это?

+5

Это * завершающие нули *. Ведущими нулями будут 0009999. –

+1

Документация находится здесь. http://msdn.microsoft.com/en-us/library/dwhawy9k.aspx –

+0

Какой формат вы бы хотели видеть? Не только для значений без десятичных знаков, но и значений * с * их? –

ответ

4

Вы можете использовать строки формата, включая # для необязательно включать до заданного числа знаков после запятой, но не больше, чем требуется. Например, вы можете использовать строку формата "0.##".

double d = 1.245; 
Console.WriteLine(d.ToString("0.##")); 

Это даст 1,25. В той же строке форматирования будет выводиться 1.1 в качестве результата при задании аргумента с этим значением.

1
double d = 9999; 
Console.WriteLine(d.ToString("F0")); 

Outpur будет;

9999 

Адрес DEMO.

Проверьте для получения дополнительной информации от Standard Numeric Format Strings

+0

Значение и вывод, которые мне нужны, - 1.211 -> 1.21, 1.245-> 1.25, 1.1-> 1.1, 1-> 1. Есть ли какой-либо стандартный формат строки для этого? – Maanu

+0

@Maanu _Hmm_, я не вижу регулярного шаблона для всех этих, я предлагаю вам использовать отдельные форматы для них. –

Смежные вопросы