B2016 浮点数向零舍入

B2016 浮点数向零舍入

```cpp long long a; cin>>a; cout<<a; ```
by LV06 @ 2022-01-04 16:37:59


去掉小数部分即可
by LV06 @ 2022-01-04 16:38:59


@[清涟呀](/user/462941)
by LV06 @ 2022-01-04 16:39:06


@[QAQ__QWQ](/user/558597) 如果我想在源代码基础上更改需要怎么样?
by 清涟呀 @ 2022-01-04 16:44:00


@[清涟呀](/user/462941) 用double,题目说给出一个float变量,但实际上float精度可能不够。
by Terrible @ 2022-01-04 16:49:53


@[Terrible](/user/195942) 也不对
by 清涟呀 @ 2022-01-04 17:17:43


@[清涟呀](/user/462941) ```cpp double x; cin>>x; cout<<(long long)x; ``` 这样差不多
by LV06 @ 2022-01-04 17:22:24


@[清涟呀](/user/462941) 注意浮点数误差可能会使您输出 `-0`。 如输入 `-0.001`,您将输出 `-0` 这显然是不对的,要解决这个问题,只需将取整函数强制转换成整形即可。 ``` cout << (long long)floor(a); ``` 上取整同理。
by Qiaoqia @ 2022-01-04 17:36:17


~~更正规的强制转换写法~~ ```cpp std::static_cast<long long>(floor(a)) ```
by Qiaoqia @ 2022-01-04 17:41:39


|