Добавление ведущих нулей к счетчику C#
Написал счетчик по нажатию кнопки, сделал ведущие нули. Счетчик работает но целая часть не суммируется с дробной.
Например: 14.4 + 14.4 + 14.4 = 43.2 дробная часть отсекается и должна оставаться целая 43. Но у меня на выходе 42.
Без добавления ведущих нулей все выводится как надо.
Подскажите что делаю не так? Как правильно добавить ведущие нули?
private void button1_Click(object sender, EventArgs e)
{
double tick; //счетчик
if (double.TryParse(textBox1.Text, out tick))
{
string fmt = "00000"; // ведущие нули
tick = tick + 14.40;
var p = Math.Truncate(tick); // отделение целой части
//var t = Math.Round(tick % 1, 2); // дробная часть
textBox1.Text = p.ToString(fmt);// ведущие нули
}
else
textBox1.Text = @"0";
}
Ответы (1 шт):
Автор решения: aepot
→ Ссылка
Есть же документация по форматированию числа Double.ToString(). Зачем вообще что-либо отделять?
Так же для дополнения строки символом до нужной длины есть метод String.PadLeft().
private double fix = 0;
private void button1_Click(object sender, EventArgs e)
{
if (double.TryParse(textBox1.Text, out double tick))
{
tick += 14.4 + fix;
fix = tick - Math.Truncate(tick);
textBox1.Text = tick.ToString("F0").PadLeft(7, '0');
}
else
textBox1.Text = 0d.ToString("F0").PadLeft(7, '0');
}