Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > .NET > Общие вопросы .NET
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 03.03.2020, 19:56   #1
DeltaV
Новичок
Джуниор
 
Регистрация: 03.03.2020
Сообщений: 2
По умолчанию Форматирование Float при обращении к MySQL

Коллеги, при формировании запроса INSERT не выходит отформатировать переменную с плавающей точкой.
Нужно: '16,6'
Выходит: '16,6656665444' - не принимает БД

Пробовал переводить в double форматировать дальше там, но подвис в неявных преобразованиях.
Код:
    		_connection.Open();
           string sql = "SELECT COUNT(*) FROM te1";
           MySqlCommand command = new MySqlCommand(sql, _connection);
           int num = Convert.ToInt32(command.ExecuteScalar().ToString());
           int num1 = num + 1;
           float value = 11.66668;
           value = TE;
           id_ = num;
           var time = DateTime.Now;
            string s1 = "INSERT INTO te1 (id,datatime, value) VALUES ('";
            string s2 = num1.ToString();
            string s3 = "','"; 
            string s4 = time.ToString("yyyy-MM-dd hh:mm:ss", CultureInfo.InvariantCulture);//time.ToString();
            string s5 = "','";
            string s6 = value.ToString("F");
            string s7 = "')";
            string s8 = s1 + s2 + s3 + s4 + s5 + s6 + s7; // результат
			//string s8="INSERT INTO te1 (id,datatime,value) VALUES('3','2020-03-03 00:56:18','11.6')";
			Result = s8;
            MySqlCommand command1 = new MySqlCommand(s8, _connection);
            command1.ExecuteNonQuery();
            _connection.Close();
DeltaV вне форума Ответить с цитированием
Старый 04.03.2020, 10:01   #2
DeltaV
Новичок
Джуниор
 
Регистрация: 03.03.2020
Сообщений: 2
По умолчанию

Мне тут в ВК подсказали: перевести тип данных float в тип данных decimal, а потом этот тип данных (decimal) в double.
Example:
float a=2.45f;
decimal t=new decimal(a);
double r=(double)t;

Если хочешь сократить количество знаков после запятой, то используй Math.Round(твоё число, количество знаков);
Example:
Math.Round(2.453553, 2) //2.45
DeltaV вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Хочу множить, а для этого нужен тип float, по сути, переменная one это integer, я ее превращаю в str, а str в float, но выдает ошибку BoNaPaRtD Общие вопросы Delphi 10 10.03.2017 10:17
Помогите разобраться с float, short float nahal_nik Помощь студентам 2 21.09.2016 11:42
Форматирование по ширине страницы на сайте с float в html-коде Pyatachok HTML и CSS 2 22.12.2012 22:51
Конвертация single float в double float kypck Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 10 23.04.2012 00:22
Ошибка типа cannot convert `float*' to `float' for argument `1' ... Trackman Помощь студентам 3 23.05.2011 17:09


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS