Столкнулся с простой задачей. Нужно вырезать первые два символа после точки в типе double. Например есть число
price = 26.109000006
Я должен получить 10. Не 26.10, а просто 10. Без каких либо округление.
Если конвертировать это число в стринг и вырезать первые числа после точки то это делается так.
string stringPrice = price.ToString();
stringPrice = stringPrice.Substring(stringPrice.IndexOf(',')+1);
На выходи будет 10. Но есть один нюанс. Если попадется число например вот такое
26.10000000
То метод ToString()
вернет мне не 26.10000000
а 26.1
и на строке
stringPrice = stringPrice.Substring(stringPrice.IndexOf(',')+1);
я уже поймаю исключение.
По идеи метод ToString()
должен был бы конвертнуть вот так "26.10000000"
. Но нет, он обрезать нули.
Вообще-то есть подозрение что я вовсе неправильным путем пошел. Моя окончательная цель просто сравнение первых 2-х символом после точки равны ли они 0
. Просто может попасться число 26.0000000005
и тогда на целое число не проверю
Как можно просто получить первые два числа после точки без округлений и обрезаний нулей. Спасибо
То что у вас "не нули" можно проверить так:
(26.0000000005 - 26) >= 0.01
- false
(26.109000006 - 26) >= 0.01
- true
Ну или более обобщенный вариант: (number - Math.Truncate(number)) >= 0.01
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
В этот код работает частично, буквы меняются, но коды не меняются
Решил попробовать написать свой парсер для сайта и столкнулся с небольшой проблемойНу, начну с того, что парсер работает, он отлично собирает...
Хотите улучшить этот вопрос? Переформулируйте вопрос так, чтобы он был сосредоточен только на одной проблеме
Могу ли я передать данные находящиеся между тегами <h1></h1> придав имя =>