保留两位小数:1.234, 1.23, 1.2, 1.0, 1。

package test;

import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.NumberFormat; public class test { public static float test(float f){
String str=String.valueOf(f);
float result = 0f; if(str.indexOf('.') != -1){
//有点
//System.out.println("有点");
if(str.indexOf('.')+3 > str.length()){
//一位小数
//System.out.println("一位");
//System.out.println("小数部分:"+str.substring(str.indexOf('.')+1, str.length()));
if(str.substring(str.indexOf('.')+1, str.length()).equals("0")){
//System.out.println("小数部分是0");
str = str.substring(0, str.indexOf('.'));
}else{
//System.out.println(str);
}
}else if(str.indexOf('.')+4 > str.length()){
//一位小数
//System.out.println("两位");
//System.out.println(str);
}else{
//多位小数
//System.out.println("多位");
//System.out.println(str.substring(0, str.indexOf('.')+3));
str = str.substring(0, str.indexOf('.')+3);
}
}else{
//没点
//System.out.println("没点");
//System.out.println(str);
}
result = Float.parseFloat(str);
return result;
} public static void main(String[] args) {
float f = 32.123f;
float t = test(f);
System.out.println(t);
}
}

  

java细节问题的更多相关文章

  1. java细节知识

    代码优化细节 (1)尽量指定类.方法的final修饰符 带有final修饰符的类是不可派生的.在Java核心API中,有许多应用final的例子,例如java.lang.String,整个类都是fin ...

  2. Java细节1--输入关闭

    import java.util.Scanner; public class Demo01 { public static void main(String[] args) { Scanner sc= ...

  3. java细节,细的你想象不到

    一. 构造方法每次都是构造出新的对象,不存在多个线程同时读写同一对象中的属性的问题,所以不需要同步 . 如果父类中的某个方法使用了 synchronized关键字,而子类中也覆盖了这个方法,默认情况下 ...

  4. Java细节

    native关键字用法 native是与C++联合开发的时候用的!java自己开发不用的! 使用native关键字说明这个方法是原生函数,也就是这个方法是用C/C++语言实现的,并且被编译成了DLL, ...

  5. Java细节整理——数组与内存控制

    重点:使用Java数组之前,必须对数组对象进行初始化. 当数组的所有元素都被分配了合适的内存空间,并指定了初始值时,数组的初始化完成.程序以后将不能重新改变数组对象在内存中的位置和大小. 知识点整理: ...

  6. Java细节----method和function的区别

    面向对象的语言叫方法 面向过程的语言叫函数 在java中没有函数这么一说,只有方法一说.属于概念上的区别. 硬要说区别. Method必须依赖于Object. Function 是独立的,不需要依赖于 ...

  7. 【java细节】Java代码忽略https证书:No subject alternative names present

    https://blog.csdn.net/audioo1/article/details/51746333

  8. java细节篇(==和equals的区别)

    1)当==两边是对象时(String,Integer...),两边比的都是地址2)当==两边是基本类型时(int,float),两边比的都是值3)默认equals比的是对象的地址,但是重写的话可以改变 ...

  9. Java提高配(三七)-----Java集合细节(三):subList的缺陷

    我们经常使用subString方法来对String对象进行分割处理,同时我们也可以使用subList.subMap.subSet来对List.Map.Set进行分割处理,但是这个分割存在某些瑕疵. 一 ...

随机推荐

  1. tensor flow 的两种padding方式

    https://segmentfault.com/a/1190000007846181

  2. oracle Hash Join及三种连接方式

    在Oracle中,确定连接操作类型是执行计划生成的重要方面.各种连接操作类型代表着不同的连接操作算法,不同的连接操作类型也适应于不同的数据量和数据分布情况. 无论是Nest Loop Join(嵌套循 ...

  3. HTML5 画图--文字

    1:html <div style="margin:0 auto;width:794px;height:1123px"> <canvas id="myC ...

  4. 增加路由ip

    C:\Windows\system32>route add  ip地址  -P 操作完成!

  5. C#.net随机数函数

    (1)Random rnd = new Random(); int rndNum = rnd.Next();           //int 取值范围内的随机数 int rndNum = rnd.Ne ...

  6. Spring的2.5版本中提供了一种:p名称空间的注入(了解)

    1. 步骤一:需要先引入 p 名称空间 * 在schema的名称空间中加入该行:xmlns:p="http://www.springframework.org/schema/p"( ...

  7. Visual Studio宏

    MSVC++ 14.0 _MSC_VER == 1900 (Visual Studio 2015)MSVC++ 12.0 _MSC_VER == 1800 (Visual Studio 2013)MS ...

  8. Java一个文件上传工具类

    /** * 文件上传 * * @author cary * @since 2012-12-19 下午2:22:12 */ public class FileUploader { static fina ...

  9. codevs1246 丑数

    题目描述 Description 对于一给定的素数集合 S = {p1, p2, ..., pK}, 来考虑那些质因数全部属于S 的数的集合.这个集合包括,p1, p1p2, p1p1, 和 p1p2 ...

  10. 16进制string转成int

    http://blog.csdn.net/wl1524520/article/details/25706521