今回はROUNDについて解説します。
/* 正常形 */
data work.data1;
_100 = round(1234.56789, 100);
_10 = round(1234.56789, 10);
_1 = round(1234.56789, 1);
_。1 = round(1234.56789, .1);
_。01 = round(1234.56789, .01);
_。001= round(1234.56789, .001);
run;
![](https://how-to-business.com/wp-content/uploads/2021/10/baaf7435f00fd02c809b2bfaab0a4f2e.png)
- 第一引数(1234.56789)を第二引数(100)に従って四捨五入する。
- _100なら10の位に設定されている値で四捨五入を行い、100の位の値が決まる。
- _。001なら0.0001の位に設定されている値で四捨五入を行い、0.001の位の値が決まる。
/* 桁指定を2にしてみたら */
data work.data1;
_200 = round(1234.56789, 200);
_20 = round(1234.56789, 20);
_2 = round(1234.56789, 2);
_。2 = round(1234.56789, .2);
_。02 = round(1234.56789, .02);
_。002= round(1234.56789, .002);
run;
![](https://how-to-business.com/wp-content/uploads/2021/10/5aba94f0bcae7e3a5ac610899cd91437.png)
- 第一引数(1234.56789)を第二引数(200)に従って四捨五入する。(?)
- 200や.002にすると計算結果が変わるみたいです。
/* 桁指定を無くしたら */
data work.data1;
_1 = round(1234.56789);
run;
![](https://how-to-business.com/wp-content/uploads/2021/10/644fdf86fe73b55541abe12c0792be0d.png)
- 第一引数(1234.56789)を四捨五入する。
- 第二引数が省略されているときは0.1の位の値で四捨五入を行い、1の位の値が決まる。
- デフォルトだと第二引数「1」として扱われる。
/* 数値を文字型にしたら */
data work.data1;
_100 = round("1234.56789", 100);
_10 = round("1234.56789", 10);
_1 = round("1234.56789", 1);
_。1 = round("1234.56789", .1);
_。01 = round("1234.56789", .01);
_。001= round("1234.56789", .001);
run;
![](https://how-to-business.com/wp-content/uploads/2021/10/d006aeabcd490d88dc7d9a01487c151f.png)
- 第一引数(”1234.56789″)を第二引数(100)に従って四捨五入する。
- _100なら10の位に設定されている値で四捨五入を行い、100の位の値が決まる。
- _。001なら0.0001の位に設定されている値で四捨五入を行い、0.001の位の値が決まる。
- 数値を文字列にしても、文法は通り、計算結果も等しい。
/* 数値を文字型にしたら、桁指定を無くしたら */
data work.data1;
_1 = round("1234.56789");
run;
![](https://how-to-business.com/wp-content/uploads/2021/10/e6d808c932f351fdedb0c75d2028e23a.png)
- 第一引数(”1234.56789″)を四捨五入する。
- 第二引数が省略されているときは0.1の位の値で四捨五入を行い、1の位の値が決まる。
- デフォルトだと第二引数「1」として扱われる。
- 数値を文字列にしても、文法は通り、計算結果も等しい。
/* 桁指定を文字型にしたら */
data work.data1;
_100 = round(1234.56789, "100");
_10 = round(1234.56789, "10");
_1 = round(1234.56789, "1");
_。1 = round(1234.56789, ".1");
_。01 = round(1234.56789, ".01");
_。001= round(1234.56789, ".001");
run;
![](https://how-to-business.com/wp-content/uploads/2021/10/b2bbdca1af74ad161a9ad30693a285a1.png)
- 第一引数(1234.56789)を第二引数(”100″)に従って四捨五入する。
- _100なら10の位に設定されている値で四捨五入を行い、100の位の値が決まる。
- _。001なら0.0001の位に設定されている値で四捨五入を行い、0.001の位の値が決まる。
- 数値を文字列にしても、文法は通り、計算結果も等しい。
/* 桁指定を0にしたら */
data work.data1;
_0 = round(1234.56789, 0);
run;
![](https://how-to-business.com/wp-content/uploads/2021/10/1902b9e1ab7672eaf1dc9cc47b371e07.png)
![](https://how-to-business.com/wp-content/uploads/2021/10/1588236178d06aa3589bf6f6ce3f4c70.png)
- 第一引数(1234.56789)を四捨五入する。
- 第二引数が0だと、計算できないため、NULLになる。