显示精度

交易行情中总是离不开浮点数,比如买卖价格/成交金额等都会用到浮点数。但是为了避免浮点数运算带来的精度损失,通常在运算的时候,会先将数据按一定倍数放大取整,然后再进行运算。比如在股票交易中的行情价格通常会乘以10000转换为整数然后再进行存取和传输。

SiaChart支持直接传入放大后的整数值。在图表上显示的时候再解析为原本的实际数值,数值缩放的倍数和界面显示的小数点位数通过以下方法设置:

/*! \brief 设置精度接口
* 每个面板都应该有自己的显示精度/除数因子设置,比如价格和数量的显示精度和除数是不同的。
*
* @param panel
* @param precision 在图表上展示的时候,保留的小数点位数
* @param divisor 传入的进去的数据可以全是整数,在真正计算的时候,会除以这个因子,转换为真正的小数
*
* @return
*/
void setPrecision(HPANEL panel, int16_t precision, int32_t divisor);

注意:缩放倍数和显示的小数点位数是按每个面板(Panel)设置的。因为不同的面板显示的数据含义可能是不同的,比如价格可能放大10000倍,但是成交数量却可能只是放大100倍或者不放大!

默认情况下,认为数据是不放大的!