2010-12-09 3 views
-2

у меня есть:Как отформатировать двойной

double somevar = 3.45; 

мне нужно отформатировать его, чтобы иметь следующие результаты:

  1. "000345" - Длина должна быть только 6
  2. " 3.45____ "- Длина должна быть 8, выравнивание по левому краю, другая часть должна заполняться пробелами. (Я использую подчеркивания вместо пробелов здесь из-за некоторой ошибки в этой службе, которая не позволяет правильно отображать эту строку, но на самом деле это не имеет значения, потому что наполнители должны быть определены в строке формата.)

Это так легко сделать, просто программируя, но мне нужно добиться этого только с помощью строки форматирования. Является ли это возможным?

Это:

string format="???"; 
float number = 3.45; 
string output = string.Format(format, number); 

На самом деле первая проблема остается только без ответа.

Спасибо! Мне нравятся вам парни стиля, вам не нравится этот вопрос, потому что вы не можете ответить на него, верно?

+1

Я не уверен, что я понимаю, вы хотите, чтобы «3,45» отформатировалось как «000345»? – Brosto 2010-12-09 18:23:22

+0

, а второй - 3,45 "в формате 3.450000"? – hunter 2010-12-09 18:25:44

ответ

3
double somevar = 3.45; 

string s = string.Format("{0:000000}", (int)(somevar*100.0)); 
string t = string.Format("'{0,-8:0.00}'", somevar); 

Взял около 30 секунд, чтобы посмотреть документы на string.format.

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