词条 | 规格化浮点数 |
释义 | ----浮点数格式化 create table 浮点数(浮点数); insert into 浮点数 values(1.00); insert into 浮点数 values(1.10); insert into 浮点数 values(1.021); insert into 浮点数 values(1.01); insert into 浮点数 values(100.2); insert into 浮点数 values(0.586); insert into 浮点数 values(299.999); insert into 浮点数 values(53.000); insert into 浮点数 values(35003.12); .mode column .h on select * from 浮点数; 浮点数 ---------- 1.0 1.1 300 1.021 1.01 100.2 0.586 299.999 53.0 35003.12 --输入整数,保存整数,输入小数,如果小数点后边都是零,只保留一个零。 --四舍五入 ROUND(字段名,保留小数点位数) select 浮点数, round(浮点数,2) 四舍五入 from 浮点数; 浮点数 四舍五入 ---------- ------------ 1.0 1.0 1.1 1.1 300 300.0 1.021 1.02 1.01 1.01 100.2 100.2 0.586 0.59 299.999 300.0 53.0 53.0 35003.12 35003.12 --四舍五入保留2位小数,整数后面加一个零. select round(浮点数,2),LENGTH(ROUND(浮点数,2))-LENGTH(CAST(浮点数 AS INTEGER)) from 浮点数; round(浮点数,2) LENGTH(ROUND(浮点数,2))-LENGTH(CAST(浮点数 AS INTEGER)) ------------------ ------------------------------------------------------ 1.0 2 1.1 2 300.0 2 1.02 3 1.01 3 100.2 2 0.59 3 300.0 2 53.0 2 35003.12 3 0.5 2 --四舍五入后的位数长度减去取整后的位数长度行规教徒等于2的需要加一个零. sqlite> SELECT 浮点数 AS 'raw value', (ROUND(浮点数,2)) AS 'RND value' , CASE WHEN (LENGTH(ROUND(浮点数,2))) - (LENGTH(CAST(浮点数 AS INTEGER)) ) =2 THEN SUBSTR(' '||(ROUND(浮点数,2))||'0', -10,10) ELSE SUBSTR(' '||(ROUND(浮点数,2 )),-10,10) END AS 'result' FROM 浮点数; raw value RND value result ---------- ---------- ---------- 1.0 1.0 1.00 1.1 1.1 1.10 300 300.0 300.00 1.021 1.02 1.02 1.01 1.01 1.01 100.2 100.2 100.20 0.586 0.59 0.59 299.999 300.0 300.00 53.0 53.0 53.00 35003.12 35003.12 35003.12 0.5 0.5 0.50 又称格式化浮点数,是指把一个浮点数按指定的格式进行转换。 比如有一个浮点数2.102586,当用它来表示个数时,就要取掉小数部分,格式化为2;当用它来表示金额时,通常只保留2位小数,按四舍五入格式化为2.10或者按进一法格式化为2.11。 通常在报表统计展示、数据计算存储时需要格式化,常用的格式化函数有:format,cast等。 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。