为什么通过使用量(定价量纲)计算出来的应付金额和华为云显示的应付金额存在精度误差?
账单管理页面(例如:明细账单页面)列表中,新增“使用量(定价量纲)”字段,即按照产品上架时定价采用的使用量单位展示使用量。
使用量(定价量纲)=使用量/使用量转换比率。转换后的值最多保留小数点后十位,截断处理。
例如,按时长计费的资源,使用量单位(定价量纲)为小时,使用量单位为秒,则使用量转换比率=3600。使用量(定价量纲)=1/3600,截取小数点后十位,为0.0002777777。
以按需资源简单定价算价为例,通过使用量(定价量纲)计算应付金额时,公式如下:
- 有线性大小算价:
- 官网价=(使用量/使用量转换比率)*单价*线性大小
- 抹零金额=官网价-优惠金额-应付金额
- 应付金额=(使用量/使用量转换比率)*单价*线性大小-优惠金额-抹零金额。
其中,“线性大小”通过云服务产品的规格查看。例如:下图云硬盘的规格为:通用型SSD|10GB,10GB即为线性大小。
示例:1GB的云硬盘定价为0.00064000元/1小时,客户按需使用10GB大小的云硬盘,实际使用25874秒,优惠金额为0.00。则未出账的应付金额为(25874/3600)* 0.00064000*10=7.1872222222*0.00064000*10=0.04599822元,出账后实际应付金额为0.04元,抹零金额为 0.00599822元。
- 无线性大小算价:
- 官网价=(使用量/使用量转换比率)*单价
- 抹零金额=官网价-优惠金额-应付金额
- 应付金额=(使用量/使用量转换比率)*单价-优惠金额-抹零金额。
无线性大小的云服务产品,规格中不携带该参数。例如下图中云主机的规格为:通用计算型|Si2.large.2|2vCPUs|4GB|linux
示例:云主机的定价为0.04650000元/1小时,客户按需使用该云主机,实际使用25874秒,优惠金额为0.00。则未出账的应付金额为(25874/3600)* 0.04650000=7.1872222222*0.04650000=0.33420583元,出账后实际应付金额为0.33元,抹零金额为 0.00420583元。
华为云显示的应付金额通过使用量和使用量单位计算,使用量单位通常为最小精度,如秒,以确保数据精确。
通过使用量(定价量纲)计算应付金额时,使用量和使用量(定价量纲)在转换过程中,可能由于截断处理导致数据偏差,造成通过使用量(定价量纲)计算出来的应付金额和华为云显示的应付金额存在精度误差。