Глупый ответ был бы: найти расположение .
в вашей строке, а затем проверить местоположение + 4.
Чем серьезнее будет, посмотрим на double formatting options :)
Вы можете использовать это форматирование двойной
// using the F4: 1054.3224
, а затем, если последний индекс вашей строки является 0, сократить его используя подстроку.
С последнего редактирования (if((val * 10000) % 10 != 0) ...
), да, он должен работать ... Sudhakar предложил то же самое в своем ответе.
Вы, вероятно, следует принимать в зависимости от того решение вы идете с, и поместить его в вспомогательный метод, который возвращает Int, а затем вы можете просто использовать, что в вашем коде, чтобы помочь вашей читаемость и reusalibilyt :)
Пойдите с решением Marks, простейшим, я думаю.
double d = 3.40;
Console.Out.WriteLine("d 0.0: {0}", d); // 3.4
Console.Out.WriteLine("d 0.0: {0}", d.ToString("0.0")); // 3.4
Console.Out.WriteLine("d 0.00: {0}", d.ToString("0.00")); // 3.40
Console.Out.WriteLine("d 0.0#: {0}", d.ToString("0.0#")); // 3.4
ли заметить, что если все у вас есть 3 или 4 digts после .
, по умолчанию будет урезана и удалены, как вы можете увидеть, если первый выход выше.
связаны: http://stackoverflow.com/q/16083666/380384 – ja72