回 帖 发 新 帖 刷新版面

主题:一个奇怪又奇怪的问题,请指点!!!!23.2输入数据表中,会存成23.19,为何?

在sql server中定义一个表,其中一个字段是放金额的,定义为decimal(12,2).
用如下语句存入记录:但奇怪的是明明输入是23.2,但存到amnt字段中就是存成23.19.这是为何呢?百思不得其解!!!!
    if(CheckBox1->Checked)
     {
     DataMDP->Table2->Append();
     DataMDP->Table2->FieldValues["fybz_bh"]          = OrderIdEd->Text.Trim();
     DataMDP->Table2->FieldValues["serial_num"]       = CheckBox1->Caption;
     DataMDP->Table2->FieldValues["fykm_code"]        = ComboBox1->Text.SubString(1,3);
     DataMDP->Table2->FieldValues["fymx_code"]        = ComboBox2->Text.SubString(1,2);
     DataMDP->Table2->FieldValues["voucher_count"]    = Edit1->Text;
     DataMDP->Table2->FieldValues["amnt"]             = Edit2->Text;
     DataMDP->Table2->Post();
     }[color=FF0000][/color][color=FF0000]ff0000[/color]

回复列表 (共1个回复)

沙发

我试着把数据表中字段的类型由decimal(12,2)改成money类型,再保存23.2到表中,该字段的值就不再是23.19,而变成了23.2000.真是奇怪,为什么decimal类型保存就要存个近似值呢,而且对于123.2也不会出错,还是123.20!!!!请高手指点!!!!

我来回复

您尚未登录,请登录后再回复。点此登录或注册