java float转为int类型 并保留两位小数
时间: 2023-06-10 19:04:48 浏览: 74
可以使用Java的DecimalFormat类来实现:
```
float f = 1.2345f;
int i = (int) (f * 100);
float result = (float) i / 100;
DecimalFormat df = new DecimalFormat("#.00");
String formatted = df.format(result);
System.out.println(formatted);
```
其中,将float类型转换为int类型时,先将小数乘以100,再强制转换为整型,这样保留了两位小数。然后再将int类型转换为float类型,并将其格式化为保留两位小数的字符串输出。
相关问题
float转为int类型 并保留两位小数
可以使用Python内置的round函数实现此功能。例如,我们可以将一个浮点数x转换为int类型并保留两位小数,可以使用以下代码:
```python
x = 3.1415926
result = int(round(x, 2) * 100)
print(result / 100.0)
```
其中,round(x, 2) 可以将x保留两位小数并四舍五入,然后将结果乘以100并转换为整数。最后,我们将结果除以100.0并打印出来,就可以得到一个保留两位小数的int类型的值。
float转为string并保留两位小数 C++
你可以使用 C++ 中的 `std::stringstream` 和 `std::fixed` 来实现将 `float` 转为保留两位小数的 `std::string`。具体实现如下:
```c++
#include <iostream>
#include <sstream>
#include <iomanip>
int main() {
float f = 3.1415926f;
std::stringstream stream;
stream << std::fixed << std::setprecision(2) << f;
std::string str = stream.str();
std::cout << str << std::endl;
return 0;
}
```
运行结果为:
```
3.14
```
这里 `std::fixed` 表示要使用固定点格式输出,`std::setprecision(2)` 表示保留 2 位小数。`stream.str()` 返回 `std::stringstream` 中的字符串表示。