为什么通过使用量(定价量纲)计算出来的应付金额和华为云显示的应付金额存在精度误差?
账单管理页面(例如:账单详情页面)列表中,新增“使用量(定价量纲)”字段,即按照产品上架时定价采用的使用量单位展示使用量。
使用量(定价量纲)=使用量/使用量转换比率。转换后的值最多保留小数点后十位,截断处理。
例如,按时长计费的资源,使用量单位(定价量纲)为小时,使用量单位为秒,则使用量转换比率=3600。使用量(定价量纲)=1/3600,截取小数点后十位,为0.0002777777。
以按需资源简单定价算价为例,通过使用量(定价量纲)计算应付金额时,公式如下:
- 有线性大小算价:
- 官网价=(使用量/使用量转换比率)*单价*线性大小
- 应付金额=(使用量/使用量转换比率)*单价*线性大小-优惠金额。
其中,“线性大小”通过云服务产品的规格查看。例如:下图云硬盘的规格为:普通IO|1000GB,1000GB即为线性大小。
示例:1GB的云硬盘定价为0.00006400美元/1小时,客户按需使用1000GB大小的云硬盘,实际使用25874秒,优惠金额为0.00。则未出账的应付金额为(25874/3600)* 0.00006400*1000=7.1872222222*0.00006400*1000=0.45998222美元,出账后实际应付金额进行四舍五入到2位小数,为0.46美元。
- 无线性大小算价:
华为云显示的应付金额通过使用量和使用量单位计算,使用量单位通常为最小精度,如秒,以确保数据精确。
通过使用量(定价量纲)计算应付金额时,使用量和使用量(定价量纲)在转换过程中,可能由于截断处理导致数据偏差,造成通过使用量(定价量纲)计算出来的应付金额和华为云显示的应付金额存在精度误差。