string与float数据的转换

2023-05-16

问题:如何将6位小数的string数据转化为2位小数的float数据显示?

先通过atof 转化为6位小数的float数据;

 temp =  atof(strtemp);
 sscanf = (strtemp,"%f",temp);

再思考如何将6位小数的float数据转化为2位小数的float数据?

有很多文章都是输出的在显示屏的,

C
printf(%.2f,float);

C++

setprecision() 和 setiosflags()

这两个函数是头文件#include "iomanip"里的函数
**记得加头文件#include “iomanip”

setprecision()

顾名思义:就是设定精度。用来控制输出的数的位数(从左到右的),自动四舍五入。且不保留小数后的0。比如:

int pi = 3.1415926000;

cout<<setprecision(1)<<pi<<endl;

3

cout<<setprecision(2)<<pi<<endl;

3.1

cout<<setprecision(5)<<pi<<endl;

3.1416

(四舍五入)

cout<<setprecision(10)<<pi<<endl;

3.1415926
(末尾不保留0)

我们可以使用这个函数初步控制小数位数。但是呢

如果整数部分不确定,或者要求末尾保留0的时候,那我们就无法准确保留适当的小数位数,因此我们需要另一个函数:

setiosflags():

这是一个格式控制函数,它有很多参数,可以实现不同的输出操作

我们在这里主要用到其中两个:fixed 和 showpoint。

首先说fixed,以定点方式显示实数,即显示整数部分。举个栗子:

int pi = 3.1415926000;

cout<<setiosflags(ios::fixed)<<setprecision(2)<<pi<<endl;

3.14

cout<<setiosflags(ios::fixed)<<setprecision(4)<<pi<<endl;

3.1416

可见此时setprecision()已经是只控制小数位数了,但是:

cout<<setiosflags(ios::fixed)<<setprecision(10)<<pi<<endl;

3.1415926

它仍然不能保留0。这时就有了showpoint。

还是那个例子:

cout<<setiosflags(ios::fixed|ios::showpoint)<<setprecision(10)<<pi<<endl;

3.1415926000

**但是我并不想输出显示屏,所以将6位小数的float数据转化为2位小数的float数据,暂时找不到直接转化的函数,其实6位小数的计算跟2位小数的计算一样,计算完毕后,想显示则可以通过

sscanf(strtemp2,"%0.2s",strtemp);

可以将6位小数float转换为2位的string类型,再显示**

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

string与float数据的转换 的相关文章

  • 是否可以基于正则表达式模式生成示例字符串?

    在我的应用程序中 用户可以在文本框中输入他自己的正则表达式模式 以便他可以强制另一个用户 文本框进行特定输入 用户是否可以看到与他输入的正则表达式匹配的字符串示例 例如 如果他要输入 A Z 2 它会生成一个像 XX 向用户表明他只能输入两
  • 从数组中提取值并将其转换为字符串的最佳方法是什么(允许 ES6)?

    我正在尝试采用这样的数组 location Id 000 000 Name Foo Id 000 001 Name Bar etc 提取 Id 并将它们组合成单个字符串 同时在每个值前面附加一个静态字符串 myId 的最有效 最干净的方法是
  • python 2.7.5 中的 str() 与 repr() 函数[重复]

    这个问题在这里已经有答案了 有什么区别str and repr python 2 7 5 中的函数 python org 上的说明 The str 函数的目的是返回值的表示 这些值是相当的人类可读的 while repr 是为了生成 表示可
  • 如何使用 Swift 4 将字符串拆分为英语和非英语?

    我有一个包含英语和阿拉伯语的字符串 我正在使用 API 这就是为什么我无法在其中设置指标的原因 我想要得到的是 阿拉伯语和英语分成两部分 这是一个示例字符串 Bismika rabbee wadaAAtu janbee wabika arf
  • 去除字符串的最佳方法是什么?

    我需要具有最佳性能的想法来删除 过滤字符串 I have string Input view 512 3 159 删除 view 和 的最佳性能方法是什么 和引号 我可以做这个 Input Input Replace view Replac
  • 有没有更简单的方法来分割/重建字符串?

    目前我正在使用String split 像这样 String tmp props get i getFullName split String name for int j 1 j lt tmp length j if j gt 1 nam
  • 如何在 Perl 中使用 use strict 一次一行处理多行字符串?

    我正在尝试找出 PBP 批准的正确方法来一次一行处理多行字符串 许多 Perl 编码人员建议将多行字符串视为文件句柄 除非您在脚本中使用 use strict 否则它可以正常工作 然后 您会收到编译器发出的警告 提示在使用严格引用时无法使用
  • C++:初始化静态字符串成员

    我在 C 中初始化静态字符串成员时遇到一些问题 我有几个类 每个类都包含几个表示 id 的静态字符串成员 当我通过调用静态函数初始化变量时 一切都很好 但是 当我想为一个变量分配另一个变量的值时 它仍然保留空字符串 这段代码有什么问题 st
  • 是否有用于 C 字符串的标准 C++ 迭代器?

    有时我需要使用通用 C 迭代器范围接口将 C 字符串传递给函数 first last 是否有针对这些情况的标准 C 迭代器类 或者无需复制字符串或调用的标准方法strlen 编辑 我知道我可以使用指针作为迭代器 但我必须知道字符串在哪里结束
  • 为什么不能用反斜杠结束原始字符串? [复制]

    这个问题在这里已经有答案了 我在这里很困惑 尽管原始字符串会转换每个 to 但是当这个 最后出现它会引发错误 gt gt gt r so m e te xt so m e te xt gt gt gt r so m e te xt Synt
  • Java中字符串中特殊字符的替换

    Java中如何替换字符串 E g String a adf sdf 如何替换和避免特殊字符 您可以删除除此之外的所有字符可打印的 ASCII 范围 http en wikipedia org wiki ASCII ASCII printab
  • 如何将 std::string& 转换为 C# 引用字符串

    我正在尝试将 C 函数转换为std string参考C 我的 API 如下所示 void GetStringDemo std string str 理想情况下 我希望在 C 中看到类似的东西 void GetStringDemoWrap r
  • C# 中最小化字符串长度

    我想减少字符串的长度 喜欢 这串 string foo Lorem ipsum dolor sit amet consectetur adipiscing elit Aenean in vehicula nulla Phasellus li
  • Python str.format() 方法的默认 kwarg 值

    我希望尝试使现有字符串的复数化尽可能简单 并且想知道是否有可能得到str format 在查找 kwargs 时解释默认值 这是一个例子 string number of sheep sheep has run away dict comp
  • 如何替换 pandas 数据框列中的重音符号

    我有一个数据框dataSwiss其中包含瑞士城市的信息 我想用普通字母替换带有重音符号的字母 这就是我正在做的 dataSwiss Municipality dataSwiss Municipality str encode utf 8 d
  • 以编程方式将字符串宽度值插入到 sprintf() 中

    我正在尝试以编程方式将字符串宽度值插入到sprintf 格式 期望的结果是 sprintf 20s hello 1 hello 但我想插入20在同一通话中即时进行 因此它可以是任何号码 我努力了 sprintf ds 20 hello 1
  • 在 String.Format 中插入格式化字符?

    我用谷歌搜索了这个 但 VB Net 2008 似乎不允许在 String Format 中插入格式化字符 例如 t r n BAD MessageBox Show String Format 0 tab 1 Foo Bar BAD Mes
  • std::setw 如何处理字符串输出?

    我正在尝试使用设置宽度setw但是 对于将字符串输出到输出文件 我无法使其工作 我有下面的例子 setw example include
  • 如何在Python中的字符串中插入变量值

    这是一个简单的例子 amount1 input Insert your value amount2 input Insert your value print Your first value is amount1 your second
  • 从文件 C 中的单行读取多个变量类型

    好吧 我一整天都在做这个 但我一辈子都无法把它记下来 也许你们可以帮忙 我有一个文件 内容如下 1301 105515018 水手长 迈克尔 R ABC 123 R01 1301 103993269 卡斯蒂利亚 小迈克尔 ABC 123 R

随机推荐

  • KODI播放器连接tfcenter webdav文件服务

    下载并配置tfcenter xff08 1 xff09 下载安装包 xff08 免安装 xff09 v1 5 4及以上版本支持 tfcenter安装包https share weiyun com tFAN6x5p xff08 2 xff09
  • 汇编语言(按键控制蜂鸣器实验)

    汇编语言 xff08 按键控制蜂鸣器实验 xff09 各位社区的小伙伴们大家好 xff01 这个是本人写的一个基于80C51单片机的汇编语言小实验 xff0c 主要目的是利用开关来控制蜂鸣器发声 xff0c 代码本人亲测有效 xff01 x
  • Ubuntu16.04几分钟自动断网问题

    方法1 1 打开配置文件 etc ppp options sudo vi etc ppp options 2 在options文件中找到以下两行代码 lcp echo failure 4 lcp echo interval 30 3 把lc
  • Windows 未能启动。原因可能是最近更改了硬件或软件。解决此问题的步骤

    最近使用一键安装软件 xff0c 在win7系统上安装win xp系统 镜像由于金山和360软件拦截了 没有及时关闭 金山和360软件 注意 xff1a 启动列表中出现的 U 盘 xff0c 一般情况是以 USB HDD 打头 原因 xff
  • 联想电脑开机报错0190:Critical low-battery error

    报错信息 xff1a 0190 xff1a Critical low battery error ERROR 0190 Critical low battery error意思是 xff1a 0190 xff1a 电池电量极低错误 给电池充
  • zabbix使用ICMP ping监控网络状态

    简介 zabbix为我们提供了多种监控方式 本文所说的ICMP ping正是zabbix内部的Simple check 简单检查 很实用的小功能 可以实时了解主机的网络状态 Zabbix在监控网络的时候需要查看ping包的丢失率和响应时间
  • RDP远程登录 Windows server系统

    使用 RDP 文件登录 Windows 实例 目录 操作场景适用本地操作系统前提条件操作步骤 Windows 系统使用 RDP 登录 Linux 系统使用 RDP 登录 MacOS 系统使用 RDP 登录 操作场景 RDP 是 Remote
  • 解决webassembly pthread 子线程调用主线程js问题

    解决webassembly pthread 子线程调用主线程js问题 背景 xff1a web端项目做了一段时间后 xff0c 我们需求是加载工程是异步的 xff0c 主线程会调用wasm方法 xff0c wasm内部用pthread创建出
  • linux服务器中用U盘或者移动硬盘拷贝数据

    使用fdisk l查看硬盘个数 看到移动硬盘的设备名是 dev sdb 实施步骤 1 xff0c 以root用户登陆 先加载USB模块 modprobe usb storage 用fdisk l 看看U盘的设备 假如U盘是sda1 2 xf
  • win10键盘锁住了怎么解决

    有win10系统用户在使用的时候 xff0c 发现键盘被锁住了 xff0c 导致无法使用 xff0c 经过分析可能是不小心按到了键盘上的锁住键 锁定键盘的快捷键 笔记本电脑 xff1a Fn 43 Numlock 键 第一种方法 xff1a
  • 用Python读取CSV文件的5种方式

    典型的数据集stocks csv xff1a 一个股票的数据集 xff0c 其实就是常见的表格数据 有股票代码 xff0c 价格 xff0c 日期 xff0c 时间 xff0c 价格变动和成交量 这个数据集其实就是一个表格数据 xff0c
  • 多媒体技术选择题

    理论上 USB1 1的最高传输速率为12Mbps USB2 0的最高传输速率为480Mbps 实际上 只要小于理论值的数字就行了 Flash MX 软件 制作网络交互动画的编辑工具 Photoshop软件 是处理图像 图形的工具 电话质量采
  • C++程序设计选择题

    1 1 在哪种派生方式中 xff0c 派生类可以访问基类中的 protected 成员 B A public 和 private B public 和 protected C protected 和 private D 仅 protecte
  • MySQL之 XtraBackup 备份

    MySQL 系列连载之 XtraBackup 备份原理 xff08 1 xff09 导读 在日常的linux运维工作中 xff0c 大数据量备份与还原 xff0c 始终是个难点 关于mysql的备份和恢复 xff0c 比较传统的是用mysq
  • HP服务器硬盘坏了一块,教你如何快速更换

    一 需求描述 客户公司的一台HP DL360p Gen8服务器硬盘坏了 xff0c 为了防止另外一块硬盘也损坏 xff0c 急需去将坏的硬盘进行更换 服务器更换硬盘不同普通电脑更换硬盘 xff0c 需要人工去导数据 xff0c 服务器更换硬
  • win 7 电脑错误676、734、678、651等解决办法

    错误676 734等解决办法 运营商办理的网络接入方式都会提供宽带账号和密码 在使用拨号上网的时候 xff0c 经常会出现各种错误代码导致不能上网 以下是个人理解的处理办法 觉得实用请分享 xff0c 不喜勿喷 xff01 01 错误691
  • 序列检测——有限状态机FSM(附verilog代码)

    题目 xff1a 使用状态机检测 1101 xff0c 串行输入的测试序列为 11101101011010 xff0c 输出信号为valid有效信号 xff0c 检测到时输出高 xff0c 否则为低 xff0c 考虑序列叠加情况 xff0c
  • MFC中的CreateProcess函数的应用

    MFC与CMD信息的传递与返回 HANDLE hRead hWrite SECURITY ATTRIBUTES sa sa nLength 61 sizeof SECURITY ATTRIBUTES sa lpSecurityDescrip
  • 解决 eclipse移植androidstudio Could not determine 的问题

    解决 eclipse移植androidstudio Could not determine 的问题 因为帮朋友移植eclipse工程到android studio上开发 xff0c 按照教程先在eclipse 导出android 的工程 x
  • string与float数据的转换

    问题 xff1a 如何将6位小数的string数据转化为2位小数的float数据显示 xff1f 先通过atof 转化为6位小数的float数据 xff1b temp 61 atof strtemp sscanf 61 strtemp 34