【深度历险】:VC 关于定点数 VT_DECIMAL 转换为字符串CString的函数探秘!

    VC中没有现成的关于定点数 VT_DECIMAL 转换为字符串CString的函数可用,但是在进行数据库访问时,这种定点精度的小数却是一种应用极其广泛的数据格式,因为它可以固定精度,固定数据位数,可以很准确的表达小数类型。     在需要进行VT_DECIMAL转换为字符串类型数据时,大多数人只是简单的进行如下格式的转换:     CString strValue;_variant_t var;strValue.Format("%e", var.dblVal); // 科学计数法st
摘要由CSDN通过智能技术生成

    VC中没有现成的关于定点数 VT_DECIMAL 转换为字符串CString的函数可用,但是在进行数据库访问时,这种定点精度的小数却是一种应用极其广泛的数据格式,因为它可以固定精度,固定数据位数,可以很准确的表达小数类型。

     在需要进行VT_DECIMAL转换为字符串类型数据时,大多数人只是简单的进行如下格式的转换:

 

    

 

    在以上列出的3种方式中,

    第一种方式,结果带E符号,相信不是绝大多数应用所需要的, 例子: 1.2e-010

    第二种方式,精度丢失,我测试还发现有时数据很不准确。

    第三种方式,你怎么就知道精度一定是8呢?将定点数的用途完全乱用。

 

 

   实际上, VT_DECIMAL是一种非常理想化的定点数表达方式,其原始定义如下:

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值