2013-09-03 2 views
2

Привет всем. У меня двойной номер (пример: 0,000006). Я хочу преобразовать его в тип строки. Но результат - «6E-06». Я не хочу этого, я хочу 0.000006" .THANKS вы так многоПреобразование double в строку, сохранить формат - C#

double a = 0.000006; 
string resultString = a.toString(); 

Я не знаю, что многие номера после «» характер

ответ

4

Это просто, что, если вы хотите, чтобы показать номер, как точно, как то, что он выглядит, мы можем привести его к decimal и использовать по умолчанию ToString(), как это:

var s = ((decimal)yourNumber).ToString(); 
//if yourNumber = 0.00000000000000000000000006 
//just append the M after it: 
var s = (0.00000000000000000000000006M).ToString(); 
+0

Спасибо, что это мой ожидающий ответ, я изменю двойной тип на десятичный. Спасибо вам снова – Futureman

+0

@Futureman Нет, вам не нужно менять свой 'declaring type', вам просто нужно отдать его' decimal' и выполните 'ToString()' на нем, как показывает мой код. После этого 'yourNumber' по-прежнему является типом' double'. –

+0

О, Извините, я не внимательно прочитал ваш комментарий. Спасибо вам большое :) – Futureman

4

Пожалуйста, проверьте эту статью и найти формат, который соответствует вашим потребностям : http://www.csharp-examples.net/string-format-double/

Похоже, это один достаточно хорошо:.

String.Format("{0:0.00}", 123.4567); 
+0

Спасибо, но я хочу, чтобы сохранить формат. Результат вашего кода: «123.46» – Futureman

0
  Double Rate_USD = Convert.ToDouble(txtRateUsd.Text); 
      string Rate_USD = txtRateUsd.Text; 
+2

Только ответы на код - это не очень хорошие ответы, попробуйте добавить несколько строк, объясняющих, в чем проблема и как ваш код исправляет это – MikeT

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