2016-12-03 4 views
0

Пожалуйста, прочтите вопрос перед тем, как пометить его как дубликат.Decimal.Parse не удаляет задние нули

я нашел много вопросов на SO жалуясь, что Decimal.Parseне держат завершающих нулей. Но для моего случая Decimal.Parse(String)не удаляет завершающих нулей вообще.

Decimal.Parse("3.000").ToString() ' ==> "3.000" 
Double.Parse("3.000").ToString() ' ==> "3" 

Я что-то пропустил?

+4

Десятичными запоминает число значащих цифр в фракции. Особенность, а не ошибка. Отформатируйте значение так, как вы хотите, например ToString («N2»), чтобы получить 2 цифры во фракции. –

+0

@HansPassant Правильно, или - для моего случая - 'ToString (" G29 ")'. Благодаря! –

+0

ToString ("G"); попробуйте это –

ответ

2

Вы можете добиться этого с помощью number formatting

Decimal.Parse("3.100").ToString("G") 

Или с каким-то обходным путем, как следующее:

StrDec = Decimal.Parse("3.100").ToString 

If strDec.Contains(".") Then strdec = strdec.TrimEnd("0")