Android String.format %f float/double .0000 多出现小数点

10 篇文章 0 订阅
8 篇文章 0 订阅

 

如果使用%1 $f,浮点型,会出现66.0000多追加了几个默认0

这时候需要我们给转换下

%1$.2f   

.2f 意思是保留小数点两位  如果有C/C++基础的同学应该知道

%mf,   %.nf,  %m.nf,

其中m表示输出数据的宽度;

n表示输出的实数保留n位小数;

C 语言写法:

控制符说明
%d按十进制整型数据的实际长度输出。
%ld输出长整型数据。
%mdm 为指定的输出字段的宽度。如果数据的位数小于 m,则左端补以空格,若大于 m,则按实际位数输出。
%u输出无符号整型(unsigned)。输出无符号整型时也可以用 %d,这时是将无符号转换成有符号数,然后输出。但编程的时候最好不要这么写,因为这样要进行一次转换,使 CPU 多做一次无用功。
%c用来输出一个字符。
%f用来输出实数,包括单精度和双精度,以小数形式输出。不指定字段宽度,由系统自动指定,整数部分全部输出,小数部分输出 6 位,超过 6 位的四舍五入。
%.mf输出实数时小数点后保留 m 位,注意 m 前面有个点。
%o以八进制整数形式输出,这个就用得很少了,了解一下就行了。
%s用来输出字符串。用 %s 输出字符串同前面直接输出字符串是一样的。但是此时要先定义字符数组或字符指针存储或指向字符串,这个稍后再讲。
%x(或 %X 或 %#x 或 %#X)以十六进制形式输出整数,这个很重要。

其余的省略

详细用法请参考:

Android 使用Stringformat优化你的代码吧_陆小凤1995的博客-CSDN博客

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Java中,可以使用`DecimalFormat`类对数值进行格式化,从而实现保留两小数的功能。具体代码如下: ```java String strnum = "123456"; long num = Long.parseLong(strnum); double result = num / 1024.0; DecimalFormat df = new DecimalFormat("#.00"); System.out.println(df.format(result)); ``` 其中,`strnum`表示需要进行转换的字符串,可以根据实际情况进行替换。`num`表示将字符串转换为`long`类型后的结果。`result`表示将`num`除以`1024`后得到的结果,使用`double`类型存储。`DecimalFormat`类用于格式化输出结果,`#`表示数字占符,`.`表示小数点,`00`表示保留两小数。最后使用`System.out.println`方法输出格式化后的结果。 执行该代码后,即可得到除以`1024`并保留两小数后的结果。 ### 回答2: 将字符串strnum转换为长整型,并除以1024得到结果,但结果需要保留两小数。 首先,我们可以使用Long.parseLong()函数将字符串strnum转换为长整型数值。然后,我们将这个长整型数值除以1024得到结果。最后,我们需要将结果保留两小数。 我们可以使用DecimalFormat类将结果格式化为两小数。首先,我们需要创建一个DecimalFormat对象,并设置模式为"0.00",表示保留两小数。然后,我们可以使用format()方法将结果格式化为两小数。最后,我们可以将格式化后的结果输出。 以下是一种可能的实现方式: ```java import java.text.DecimalFormat; public class Main { public static void main(String[] args) { String strnum = "1234567890"; long num = Long.parseLong(strnum); double result = (double) num / 1024; DecimalFormat df = new DecimalFormat("0.00"); String formattedResult = df.format(result); System.out.println(formattedResult); } } ``` 以上代码输出的结果是:"1203215.93"。表示将字符串"1234567890"转换为长整型数值为1234567890,然后除以1024得到的结果是1203215.93,并将结果保留两小数。 ### 回答3: Long.parseLong(strnum)/1024 保留两小数,可以通过以下步骤实现: 1. 首先,将字符串类型的数字strnum转换为long类型的数字。这可以使用Long.parseLong()方法完成。语法为:Long.parseLong(strnum) 2. 将得到的long类型数字除以1024,得到的结果为float类型。 3. 为了保留两小数,我们可以使用DecimalFormat类进行格式化处理。首先,创建一个DecimalFormat对象,并设置格式为"0.00",表示保留两小数。然后,使用format()方法对结果进行格式化。 综合以上步骤,实现如下: ```java String strnum = "123456"; long num = Long.parseLong(strnum); float result = (float)num/1024; DecimalFormat decimalFormat = new DecimalFormat("0.00"); String formattedResult = decimalFormat.format(result); System.out.println(formattedResult); ``` 输出结果为:120.59
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值