JAVA如何把一个float四舍五入到小数点后2位,以及多位

JAVA如何把一个float四舍五入到小数点后2位,以及多位

 

JAVA如何把一个float四舍五入到小数点后2位,4位,或者其它指定位数. 以前以为很容易,一直没在意,今天突然用到了,才发现,系统没有这样的函数.狂晕,同事们用的方法为,先转成String,再取其中几位,再转成float型,(如:String.valueOf(c).substring(0,String.valueOf(c).indexOf(".") + 3)):

我觉得这样不爽,于是找了书看看,书上还真没找到,晕晕.到网上找了一些方法,还真行.如下(以下都是取2位,如果要取其它位,自己修改一下):

 

 (一):这种方法方便,我就使用这种方法

float a = 123.2334f;

float b = (float)(Math.round(a*100))/100;

(这里的100就是2位小数点,如果要其它位,如4位,这里两个100改成10000)

 

(二):这个方法也简单,不过还要再转成float型:

 import java.text.DecimalFormat;

String a = new DecimalFormat("###,###,###.##").format(100.12345 );

 

(三):这个也可以用

float ft = 134.3435f;

int scale = 2;//设置位数

int roundingMode = 4;//表示四舍五入,可以选择其他舍值方式,例如去尾,等等.

 BigDecimal bd = new BigDecimal((double)ft);

bd = bd.setScale(scale,roundingMode);

ft = bd.floatValue();

 

(四):个人想法,还没去做 就是先放大10的N次方,变成整数,再除以10的N次方变回float型 , 不知道这样可以不?

 

--------------------------------------------------------------------------------

 

暂时就这么多,以后如果还发现了新的,再发上来

 

(附)日期格式化

//获取当前系统日期和时间的方法

import java.text.SimpleDateFormat;

import java.util.Date;

public class TestDate

{

       public static void main(String[] args) throws Exception {

      SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //格式为特有的,API文档中有

      SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");//

      Date d = new Date();

      System.out.println(sdf.format(d)); }

}

安卓模拟器绕过检测全解析:雷电、MuMu、蓝叠、逍遥、夜神与WSA完整指南 随着手机游戏和应用的普及,越来越多的用户选择在PC上通过模拟器来运行安卓应用。然而,许多应用和游戏为了防止作弊或出于安全考虑,会检测是否运行在模拟器环境中。本文将详细介绍各大主流模拟器的检测绕过方法,帮助用户在电脑上流畅体验各类安卓应用。1. 获取模拟器系统镜像2. 使用ROM厨房工具修改系统文件3. 替换模拟器的系统镜像雷电模拟器:适合游戏,推荐使用MAGISK + EdXposed方案MuMu模拟器:适合中度游戏,推荐太极框架蓝叠模拟器:适合国际应用,推荐MAGISK方案逍遥模拟器。 阅读详情

相关推荐

从零实现Unitree Go2的SLAM建图与导航:手把手集成slam_toolbox和nav2(附Rviz2可视化配置)

本文详细指导如何在Unitree Go2四足机器人上集成slam_toolbox和nav2,实现SLAM建图与导航功能。从ROS2环境配置、雷达数据处理到slam_toolbox参数优化,再到nav2路径规划与Rviz2可视化调试,提供完整解决方案。特别适合机器人开发者快速掌握ROS2导航栈在Unitree Go2上的应用实践。

weixin_33737134的博客 1232

将Float类型的数字保留2位小数

将Float类型的数字保留2位小数 #推荐使用第一种方法 1.利用DecimalFormat类进行保留小数 float a = 12f; b = 25f; //对数据进行保留两位小数 如果是保留四位小数就是("0.0000") DecimalFormat b = new DecimalFormat("0.00") String format = b.format(a/b); //float format= (float)b.format(a/b);//这边应该是要进行强制转换 不转换的话也行返回的是Str

weixin_45170450的博客 1万+

【CADARXC++】ObjectArx2023 C++ CAD二次开发环境配置笔记

从官网或第三方平台下载以下AUtoCAD2023、VisualStudio2019和ObjectArx2023安装时请注意安装顺序。

BIMCATIA的博客 1789

JAVA中float类型运算出现精度缺失,对于保留小数位解决方案

float a = 123.2334f; float b = (float)(Math.round(a*100))/100;(这里的100就是2位小数点,如果要其它位,如4位,这里两个100改成10000)

feixia_24的专栏 1307

别再乱刷了!《另一个伊甸》异节、改典、典录获取途径完全梳理,这些隐藏奖励你拿全了吗?

本文全面解析《另一个伊甸》中异节、改典、典录的获取途径,包括断章、外传、精灵试炼等高概率掉落副本,以及隐藏任务、限时活动和特殊挑战。提供高效收集策略和优先级建议,帮助玩家快速获取这些稀缺资源,实现角色真证和上限突破。

weixin_42699679的博客 590

AP发票批量付款程序(WEB ADI)

CREATE OR REPLACE PACKAGE MEW_AP_BATCH_PAYMENTS_PKG IS   PROCEDURE MAIN(P_BATCH_ID          NUMBER                 ,P_ORG_ID            NUMBER                 ,P_BANK_ACCOUNT_NAME VARCHAR2

储藏室 5051

【基础】float保留两位小数

方法3:最简单的方法 1. float a = 123.2334f; float b = (float)(Math.round(a*100))/100;(这里的100就是2位小数点,如果要其它位,如4位,这里两个100改成10000) 转载于:https://www.cnblogs.com/CESC4/p/7654890.html...

Tuling2020的博客 2286

2025_NIPS_RAGRouter: Learning to Route Queries to Multiple Retrieval-Augmented Language Models

该研究聚焦检索增强生成(RAG)场景下的大语言模型(LLM)路由问题,提出了首个RAG感知的路由框架RAGRouter。核心解决现有路由方法依赖静态参数知识、忽略检索文档动态影响的缺陷,通过融合文档嵌入、RAG能力嵌入与对比学习,捕捉RAG引发的模型知识表征变化,为每个查询-文档对选择最优LLM。实验覆盖5个知识密集型任务、15个开源/闭源LLM,验证了RAGRouter在性能上超越最佳单LLM和非RAG感知路由方法,且通过阈值机制实现低延迟约束下的性能-效率平衡。

UnknownBody_2的博客 273

java set第n位_深圳Java培训:Java中的float在内存中的存储

深圳Java培训:Java中的float在内存中的存储最近在讲Java基础,讲到数据类型的转换,提到整数类型长字节类型数据放到短字节类型数据中时,由于字节数不够,会截断数据,所以需要程序员手动强制类型转换,例如将int型的数据放到byte类型中。后来学生提出一个问题,为什么float只有4个字节,而long有8个字节,将一个long数据放入到一个float中时不需要强制转换,而将float放到lo...

weixin_39930711的博客 151

基于A*算法的二维栅格地图路径规划与避障MATLAB仿真

本文将介绍如何使用MATLAB编写基于A*算法的二维栅格地图路径规划与避障的仿真程序。我们可以使用二维数组表示地图,其中每个元素表示一个栅格的状态,例如1表示障碍物,0表示可行走区域。接下来,我们需要定义A*算法的节点类。G值表示从起始节点到当前节点的代价,H值是启发式函数估计的从当前节点到目标节点的代价。算法,我们可以有效地找到起始点到目标点的最短路径,并在仿真中进行可视化展示。算法的基本思路是从起始节点开始,按照一定的启发式函数选择下一个节点,直到找到目标节点或者遍历完所有可行走区域。

ByteWhizX的博客 1273

基于 PCL 的工业盒体点云精准分割

本文提出一种基于PCL点云库的工业盒体点云分割算法,采用由粗到精的分层策略解决传统方法在噪声、稀疏和堆叠场景下的分割问题。算法通过区域生长粗分割、RANSAC平面筛选、球面回溯补全、凹包边界提取和圆柱回溯精分割五大核心模块,充分利用盒体几何先验特征,实现高效精准的分割效果。文章详细阐述了算法流程、参数调优指南及工程化要点,指出该方法相比深度学习具有速度快、鲁棒性强、部署简单的优势。同时分析了算法在倾斜、异形目标上的局限性,并展望了结合深度学习特征的混合模型发展方向。该算法为工业自动化场景中的3D视觉检测提供

weixin_45196569的博客 172

浮点型保留两位小数

实际使用中发现,有时候会出现小数变成1位而不是两位的情况。方案二:String.format()方案一:DecimalFormat。

KnockerJ的博客 4158

YOLOv11涨点改进 | 全网创新首发、主干改进篇 | CVPR 2025 | RAVLT主干让 YOLOv11 更加强大!通过增强线性注意力机制,特别在小目标和复杂背景的检测上表现突出

本文提出RAVLT主干网络,通过改进YOLOv11的空间特征建模能力,显著提升小物体和复杂背景检测性能。RAVLT采用秩增强线性注意力(RALA)机制,在保持线性计算复杂度的同时解决传统线性注意力低秩问题。RALA通过增强KV缓冲区和输出特征矩阵的秩,提高特征多样性和建模能力。实验表明,RAVLT在ImageNet-1k上达到84.4% Top-1准确率,仅需2600万参数和4.6GFLOPs,性能优于现有线性注意力模型。文章详细介绍了RAVLT模块结构、实现原理及在YOLOv11中的集成方法,包含四种主干

Ai缝合怪、助力小伙伴高效发论文 639

Java中的浮点数四舍五入到小数点后2位的几种方法

前言 四舍五入到2或3个小数位是我们Java程序员日常开发中肯定会遇到。幸运的是,Java API提供了几种在Java中舍入数字的方法 我们可以使用Math.round(),BigDecimal或DecimalFormat将Java中的任何浮点数四舍五入到n个位置。我个人更喜欢使用BigDecimal在Java中四舍五入任何数字,因为它具有便捷的API并支持多种舍入模式。 另外,如果您在金融行业工...

麦叔 2221

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

JAVA如何把一个float四舍五入到小数点后2位,4位,或者其它指定位数.

From:http://blog.youkuaiyun.com/lizhenmingdirk/article/details/7335285

MaximusKiang的专栏 1209

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

c#float取小数点后两位_float取2位小数,末位四舍五入(转自fjj)

JAVA如何把一个float四舍五入到小数点后2位,以及多位JAVA如何把一个float四舍五入到小数点后2位,4位,或者其它指定位数. 以前以为很容易,一直没在意,今天突然用到了,才发现,系统没有这样的函数.狂晕,同事们用的方法为,先转成String,再取其中几位,再转成float型,(如:String.valueOf(c).substring(0,String.valueOf(c).index...

weixin_39785524的博客 2738

qt的四舍五入_string.format 小数点 QT 对于float类型四舍五入

float四舍五入保留两位小数注意的地方最近在codewars做了一道非常简单的题目,但是它却花了我20来分钟,虽然最后解决了,但是中间发觉对于java的基础实在不行,回去要好好补一下不说这么...raylee20072015年07月29日 09:062459正常的float 转换为 int 的情况是采用去尾巴的方式,也就是说去掉小数点后面的数值。string.format 小数点string.f...

weixin_39671467的博客 1785

java float四舍五入保留两位小数,java四舍五入float保留两位小数

摘要 腾兴网为您分享:java四舍五入float保留两位小数,远离手机,相机美颜,未来屋,微视等软件知识,以及流光,证券从业随身学,老a工具箱,polarr,特斯拉app,ae插件合集,福奈特,app名称,哈士奇表情,电视台直播源,思兔,门海,电子台账软件,3c电池,smartflashrecovery等软件it资讯,欢迎关注腾兴网。四舍五入我们大家都知道是什么但在java中四舍五入函数是什么如何...

weixin_36259939的博客 2376

【转载】JAVA如何把一个float四舍五入到小数点后2位,4位,或者其它指定位数.

怎么使float保留两位小数或多位小数 两种方法: import   java.math.*;    ……    方法1:    float   f   =   34.232323;    BigDecimal   b   =   new   BigDecimal(f);    float   f1   =   b.setScale(2,   BigDecimal.ROUND_HALF_U

望月思灵 633
上一篇: js中escape,encodeURI,encodeURIComponent三个函数的区别
下一篇: JVM崩溃原因
nothingjff
博客等级 码龄18年 1粉丝 52原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值