stata17中double类型与float类型的区别(变量的存储格式和显示格式、数值运算出错、转换数值格式、字符型数据转换为数值型数据)

double类型与float类型区别

在这里插入图片描述

数值运算出错

  • 因为营业总收入和其他业务收入都是字符型数据,所以使用real函数将其转换为数值型数据。
gen 主营业务收入= real(营业总收入)-real(其他业务收入)
  • 结果如下图所示:计算出来的主营业务收入是不对的
    在这里插入图片描述
  • 直接看不出运算是否出问题了,接下来将主营业务收入格式化一下:

转换数值格式

format 主营业务收入* %17.3gc //这里之所以保留17位宽度,是因为营业总收入的字符的格式是17位宽度

在这里插入图片描述

出现错误数值的原因

  • 重新温习double类型与float类型区别;因为计算出来的主营业务收入是float类型,最多显示8位有效数字,而真实的计算结果远高于8位数字。

解决办法

  • 扩大变量单位(比如将单位换成万或千万)并保留合适的小数位数。
* 将单位换成亿元,并四舍五入保留四位小数
replace 营业总收入 其他业务收入 = round(`i'/100000000,0.0001)
gen 主营业务收入= round(float(营业总收入)-float(其他业务收入),0.0001)

在这里插入图片描述

将字符型类型数字变成数值类型数字

destring 变量名称(可以多个变量同时进行), replace force //将字符串类型的数值变成数值型
  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值