Excel如何实现小数点后保留两位有效数字?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Excel如何实现小数点后保留两位有效数字?相关的知识,希望对你有一定的参考价值。

比例,1.231变为1.23;1.236变成1.24;1.0231变成1.023;1.0236变成1.024;1.00231变成1.0023;1.00236变成1.0024.那些理解为保留两位小数的就不用回答了。谢谢!... 比例,1.231变为1.23;1.236变成1.24;1.0231变成1.023;1.0236变成1.024;1.00231变成1.0023;1.00236变成1.0024.那些理解为保留两位小数的就不用回答了。谢谢! 展开

在编辑excel文档时,有时候需要将数值保留为两位有效数字。那么excel怎么保留两位有效数字,下就演示操作步骤。

1、首先打开电脑进入系统后,双击需要编辑的文档打开。

2、之后,选择数值所在的位置,右键点击选择设置单元格格式的选项。

3、点击后,选择数值的选项。

4、之后,将小数位数选择为2,点击确定。

5、确定后,即可将数值保留两位有效数字。

参考技术A

excel小数点后保留两位有效数字,要怎么实现,操作方法如下。

1、首先在打开的表格中,选择要设置的单元格或者列,点击开始选项卡。

2、然后点击数字格式功能。

3、在设置单元格格式窗口中,选择左侧的数值,将小数数位设置为2,点击确定。

4、最后回到表格中,就会发现已经是保留两位有效数字了。

参考技术B 首先你题目描述的不太对,
小数点后保留两位有效数字,就是小数点后保留两位小数。
如果你的某列数据小数位数差异很多,只能
自己判断然后,进行取舍了,配合使用IF函数和round函数进行判断保留

如何将一个数字保留到小数点后两位?

【中文标题】如何将一个数字保留到小数点后两位?【英文标题】:How to floor a number to two decimal places? 【发布时间】:2021-06-05 14:53:00 【问题描述】:

我正在尝试将双精度数据类型数字设置为小数点后两位,但当我输入 150 之类的数字时,我只能得到一位。

例如,如果我输入这个:

double num = 150.52152;

Math.floor(num * 100) / 100;

我得到150.52,没关系!

但是如果我输入 double num = 150 我会得到 150.0 而不是 150.00

我该如何解决这个问题?

【问题讨论】:

150.0 与 150.00 相同,只是值如何呈现的问题。如果您想要特定的输出,则需要使用数字格式化程序 【参考方案1】:

你可以通过两种方式做到这一点

    使用String.format
String.format("%.2f",floorValue)
    使用DecimalFormat
new DecimalFormat("#,##0.00").format(floorValue)

我建议您将new DecimalFormat("#,##0.00") 存储到final 变量中并在需要时使用它,而不是每次需要格式化时都创建一个新的DecimalFormat 对象。

演示:

import java.text.DecimalFormat;
import java.text.NumberFormat;

public class Main 
    public static void main(String[] args) 
        final NumberFormat format = new DecimalFormat("#,##0.00");// Do it once

        double floorValue = 150;
        System.out.println(format.format(floorValue));// Use it wherever you need to

        // Alternatively
        System.out.printf(String.format("%.2f", floorValue));
    

输出:

150.00
150.00

【讨论】:

【参考方案2】:

控制小数位数是将小数转换为String 的功能。请记住,您正在查看以 2 为底的以 10 为底的值。并非每个此类值都是可表示的(例如 System.out.println(0.05+0.1);)。相反,使用String 格式。喜欢,

System.out.printf("%.02f%n", 150.0);

System.out.printf("%.02f%n", 0.05 + 0.1);

【讨论】:

非常感谢。我忘了提到我想在退货声明中打印它,比如“购买价值:”+ num……那我该如何应用同样的东西呢? return String.format("Purchase value : %.02f", 150.0); @PohovaniVodokotlic 看到这个***.com/help/someone-answers。【参考方案3】:

要始终显示您的遮阳篷,并在小数点后显示两个值,您有两种输出方法。你的第一个如下:

System.out.printf("%.2f", <YOUR VALUE>);

%.2F 在一个浮点数中调用两个小数,该浮点数首先由 printf(打印浮点数)定义,因为整数不能是小数,所以不能删除。

您的第二个选项是使用十进制格式。例如:

// First define your fromat as decimalFormat
DecimalFormat decimalFormat = new DecimalFormat();
// Define number of digits after the decimal point in your case two
decimalFormat.setMaximumFractionDigits(2);
// Print out our result now formated in what we have just defined
System.out.println(decimalFormat.format(<YOUR VALUE>));

虽然你输出的是一个字符串,但它可以是一个浮点数(你可能需要在你的值后面加上“f”以确保它被定义)。

希望这能提供信息。

【讨论】:

round 是什么,在舍入 150 时如何显示 2 位小数? 使用这个更简单System.out.printf("%.2f", val); 什么是val? (我知道它是什么,但请发布一个完整且有用的答案) 这不是我的问题,我知道如何处理这个问题。我要求编辑您的答案,使其成为正确且有意义的答案。 这个答案现在是重复的,所以请删除它。【参考方案4】:

您也可以这样做(但我更喜欢String.formatSystem.out.printf)。 请注意,不会显示尾随零,因此 100.10230 将显示为 100.1

生成一些数据

Random r =  new Random();
double[] dbls = r.doubles(10).map(d->d*1000).toArray();

打印值

for (double d : dbls) 
    double df = (int)(d*100+.5)/100.;
    System.out.println(d + " --> " + df);
 

打印类似的东西。

738.2358190119878 --> 738.24
902.7752505591593 --> 902.78
467.26349962571953 --> 467.26
503.2049813704648 --> 503.2
20.288046322504805 --> 20.29
409.10379837674714 --> 409.1
559.2821881121522 --> 559.28
288.5513513499909 --> 288.55
124.07583289719682 --> 124.08
535.1799354550361 --> 535.18

【讨论】:

尾随的零是问题所在...

以上是关于Excel如何实现小数点后保留两位有效数字?的主要内容,如果未能解决你的问题,请参考以下文章

delphi怎么把一个数据保留两位小数

如何在Python中保留小数?

shell保留两位小数,急求

matlab 如何把数字保留两位有效数字? 比如如何把217变成220?

如何在excel中保留小数点后两位

excel保留整数17位,