Как хранить точные значения в базе данных SQL
у меня есть таблица sql как:
создание таблицы поперечной упругости
(
Поплавок поперечной упругости,
)
сохранение значений в нем с помощью хранимой процедуры как:
создать proc Usp_saveCrossElasticity (@CrossElasticityValue float)
как
начать
обновить набор Кросселастичности CrossElasticityValue=@CrossElasticityValue
конец
создать proc Usp_GetCrossElasticity
как
начать
выберите CrossElasticityValue из CrossElasticity
конец
теперь я пытаюсь сохранить значение как 0.512, но оно сохраняется как 0.51200001023
но я просто хочу точно 0,512.! как это сделать?
(использование SQL server 2012 adv и visual studio 2013)
Что я уже пробовал:
доступ как :
охраняемых недействительными btnCrossElasticitySave_Click(объект отправителя, EventArgs в электронной)
{
if (txtCrossElasticityValueNew.Текст == "")
{ Функции MessageBox.Show ("пожалуйста, заполните правильные значения.."); }
ещё
{
пробовать
{
против.Закрывать();
против.Открыть();
SqlCommand cmd1 = new SqlCommand ("Usp_saveCrossElasticityValue", con);
cmd1. CommandType = CommandType.Хранимая процедура;
cmd1.Параметры.Add(new SqlParameter ("@CrossElasticityValue", SqlDbType.Поплавок));
cmd1. Parameters ["@CrossElasticityValue"].Значение = Преобразовать.ToSingle(txtCrossElasticityValueNew. Text);
int RowCount = cmd1.Метод executenonquery();
if (RowCount > 0)
{
Ящик для сообщений.Show ("Сохранено Успешно..!!");
}
ещё
{
Ящик для сообщений.Шоу ("Что-То Пошло Не Так...!");
}
}
поймать (исключение бывший)
{
Ящик для сообщений.Шоу (напр.Метод toString());
}
}
}
[no name]
Вопрос в том, почему. Переменная, которую вы представляете, не может быть оценена с точностью, которую вы ищете. Таким образом, ваша забота полностью иллюзорна. Что плохого в поплавке, поскольку все ваши вычисления будут использовать поплавки? Возможно, вместо того, чтобы сосредотачиваться на этом, лучше понять анализ ошибок: http://www.owlnet.rice.edu/~labgroup/pdf/Error_analysis. pdf
Satpal Lakhera
tnx.. я понял..!