OO-数字串char*与数值int_double之间转换

2023-05-16

OO-数字串char*与数值int_double之间转换

文章目录

    • OO-数字串char*与数值int_double之间转换
  • 一、任务描述
  • 二、TestCase:
    • 2.测试集
  • 需要填空的代码
    • 源代码(可以复制在编译器里面自行调试)
      • 开始你的表演,祝你成功!


一、任务描述

功能: 将数字字符串转换为双精度浮点数

二、TestCase:

输入 ——输出
3.14 —— 3.14,4.14
2020.21——2020.21,2021.21
………

2.测试集

截图如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

需要填空的代码

#include "Comm.h"

class Solution{
public:

double strTof(const char *s){
	
	/************ begin ************/
	   	double power = 1.0;
	    int sign=0,i=0;
		for(i=0;isspace(s[i]);i++);
        while(s[i] == ' ')
		{
            i++;
        }
        //Handling signs
        if(s[i] == '-')
        {
            sign=1;
            i++;
        }
        if(s[i]=='+')
        {
            i++;
        }
        double num=0.0;
        while(s[i])
        {
            
				for(num=0.0;isdigit(s[i]);i++)
                num=num*10+s[i]-'0';

                if (s[i] == '.')
				{
					i++;
				}
                for(power=1.0;isdigit(s[i]);i++)
                {
                    num=num*10+s[i]-'0';
                    power *= 10.0;
	            }
                
				num = num / power;                  //安装小数点 

				return sign? -num : num;			//安装符号 
		}   			
	
	/********** end **********/
}


};

源代码(可以复制在编译器里面自行调试)

#include <stdlib.h>
#include <string>
#include <iostream>
#include <fstream>
#include <sstream>
#include <vector>
#include <queue>
using namespace std;
class Solution{
public:

double strTof(const char *s){
	
	/************ begin ************/
double power = 1.0;
	    int sign=0,i=0;
		for(i=0;isspace(s[i]);i++);
        while(s[i] == ' ')
		{
            i++;
        }
        //Handling signs
        if(s[i] == '-')
        {
            sign=1;
            i++;
        }
        if(s[i]=='+')
        {
            i++;
        }
        double num=0.0;
        while(s[i])
        {
            
				for(num=0.0;isdigit(s[i]);i++)
                num=num*10+s[i]-'0';

                if (s[i] == '.')
				{
					i++;
				}
                for(power=1.0;isdigit(s[i]);i++)
                {
                    num=num*10+s[i]-'0';
                    power *= 10.0;
	            }
                //num=num+49.4;
				num = num / power;                  //安装小数点 

				return sign? -num : num;			//安装符号 
		}   			
	/********** end **********/
}


};

int main(){
	
	string strDec = "0";
		
	//input
	cin>> strDec; //Similar to %s, data acquisition ends when the default separator is encountered
	//getline(cin,num); //Similar to gets, enter a line of characters to origin

	Solution sol;
	 
	cout << strDec << endl;
	cout << sol.strTof(strDec.c_str())+1 << endl;

	return 0;
} 

开始你的表演,祝你成功!

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

OO-数字串char*与数值int_double之间转换 的相关文章

  • 运算符“==”不能应用于“int”和“string”类型的操作数

    我正在编写一个程序 我想到了一个数字 然后计算机猜测了它 我一边尝试一边测试它 但我不断收到不应该出现的错误 错误是主题标题 我使用 Int Parse 来转换我的字符串 但我不知道为什么会收到错误 我知道它说 不能与整数一起使用 但我在网
  • Java:不使用 Arrays.sort() 对整数数组进行排序

    这是我们 Java 课程的练习之一中的说明 首先 我想说我 做了我的功课 我不仅仅是懒惰地请 Stack Overflow 上的人帮我回答这个问题 在所有其他练习中 这个特定项目一直是我的问题 因为我一直在努力寻找 完美的算法 编写JAVA
  • 如何将 int 作为“void *”传递给线程启动函数?

    我最初有一个用于斐波那契变量数组的全局变量 但发现这是不允许的 我需要进行基本的多线程处理并处理竞争条件 但我无法在 pthread 创建中将 int 作为 void 参数提供 我尝试过使用常量指针 但没有成功 由于某些奇怪的原因 void
  • 将 int 和 const int 转换为 float 时的不同结果

    谁能解释为什么 int 和 const int 给出不同的结果 转换为 float 并用于浮点数学时的结果 参见 例如这段代码 int tmain int argc TCHAR argv int x 1000 const int y 100
  • 将双精度转换为二进制表示形式?

    我尝试将双精度数转换为其二进制表示形式 但使用此Long toBinaryString Double doubleToRawLongBits d 没有帮助 因为我有大量数字 Long 无法存储它们 即2 900 Long toBinaryS
  • 添加 char 和 int

    据我了解 字符是一个字符 即一个字母 一个digit 标点符号 制表符 空格或类似的东西 因此 当我这样做时 char c 1 System out println c 输出 1 正是我所期望的 那么为什么当我这样做时 int a 1 ch
  • java中如何重新初始化int数组

    class PassingRefByVal static void Change int pArray pArray 0 888 This change affects the original element pArray new int
  • 如何在 C 中将 char 连接到 char* ?

    我怎样才能前置char c to char myChar 我有c值为 A and myChar值为 LL 我怎样才能前置c to myChar使 ALL 这应该有效 include
  • 将整数转换为特定格式的十六进制字符串

    我是 python 新手 有以下问题 我需要将整数转换为 6 个字节的十六进制字符串 例如 281473900746245 gt xFF xFF xBF xDE x16 x05 十六进制字符串的格式很重要 int 值的长度是可变的 格式 0
  • 将双精度数的指数便携式打印到 C++ iostream

    我想打印一个双精度值std cout可移植 GCC clang MSVC 以便所有平台上的输出都相同 我的指数格式有问题 下面的程序 include
  • C++ 中的整数到十六进制字符串

    如何将整数转换为十六进制字符串C http en wikipedia org wiki C 2B 2B 我可以找到一些方法来做到这一点 但它们似乎主要针对 C 似乎没有一种本地方法可以在 C 中做到这一点 但这是一个非常简单的问题 我有一个
  • 检查双精度值的等于和不等于条件

    我在比较两者时遇到困难double values using and 我创建了 6 个双变量并尝试进行比较If健康 状况 double a b c d e f if a b c d e f My code here in case of t
  • char指针或char变量的默认值是什么[重复]

    这个问题在这里已经有答案了 下面是我尝试打印 char 变量和指针的默认值 值的代码 但无法在控制台上看到它 它是否有默认值或只是无法读取 ASCII 范围 include
  • 如何从一个活动检索 Double 值到另一活动?

    我制作了一个包含 2 个活动的应用程序 其中第一个活动包含一些 EditText 十进制数字 另一个活动也包含一些 EditText 十进制 现在我想将一个 EditText 的值传递给另一个 但作为 双 而不是作为一个字符串 因为该值将用
  • 关于 unsigned int 的建议(江南 Style 版)

    视频 江南Style 我相信你已经听过 在 YouTube 上的观看次数刚刚突破 20 亿次 事实上 谷歌表示他们从未期望视频大于 32 位整数 这暗示了谷歌使用的事实 int 代替unsigned对于他们的观察柜台 我认为他们必须重新编写
  • 将int转换为无符号短java

    我用 java 编写了一个 obj 解析器来对 iPhone 上的 3D 对象进行建模 我想将数据导出为二进制文件 该文件必须尽可能小 我有很多适合无符号短整型的索引 但它们在 java 中表示为 int 我想在将数据写入文件之前使用 By
  • 负字符值JAVA

    为什么会出现以下情况 char p 0 p System out println p result 65535 为什么不给出编译错误或运行时异常 我预计它是因为字符不能为负数 相反 它从颠倒开始倒数 提前致谢 为什么不给出编译错误或运行时异
  • 如何按双精度值对 List 进行排序?

    这听起来很简单 但其实没那么简单 我想根据 T 的一个属性 double 类型 来排序 List 如果您在编译前知道属性名称 myList myList OrderBy a gt a propertyName ToList or myLis
  • Java Double 对象存储到小数点后两位[重复]

    这个问题在这里已经有答案了 是否可以将 java lang Double 存储到正好两位小数 前任 0 2变成0 20 我将代码修改为以下 Double correlation getSomeDoubleValue label key da
  • C# 将 IntPtr 转换为 int

    我正在动态调用 Windows API 我在网上找到了一些可以做到这一点的代码 并且我对它非常感兴趣 至少可以说 这个想法本身就很出色 但是 我似乎无法让它适用于我的代码 动态调用的参数是类型string string int 我想使用 A

随机推荐

  • 80个Python经典资料(教程+源码+工具)汇总——下载目录

    大家好 xff0c 51CTO下载中心根据资料的热度和好评度收集了80个Python资料 xff0c 分享给Python开发的同学 内容包括1个Python专题 66个学习资料 7套Python源码和6个相关软件 附件较多 xff0c 无法
  • Jetson Xavier NX使用yolov5+deepsort实现CSI摄像头的目标跟踪

    文章目录 安装过程运行效果用python代码来打开CSI摄像头实现CSI摄像头目标跟踪报错 AttributeError 39 NoneType 39 object has no attribute 39 shape 39 运行效果 参考文
  • 机械周期、时钟周期、脉冲、晶振频率之间的关系

    机械周期 时钟周期 脉冲 晶振频率之间的关系 晶振频率与脉冲的关系时钟周期与脉冲的关系机械周期与时钟周期的关系 整理下学到的机械周期 时钟周期 脉冲 晶振频率之间的关系 晶振频率与脉冲的关系
  • 51单片机的串行接口介绍

    51单片机的串行接口介绍 串行口结构设置工作方式 xff08 串行口控制寄存器SCON xff09 设置波特率 51单片机内部集成1 2个可编程通用异步串行通信接口 xff08 即UART xff09 xff0c 采用全双工制式 该通信接口
  • IIC通信总线寻址

    IIC的使用 IIC总线简介IIC通信时序IIC总线寻址 IIC总线简介 1 IIC总线是一种由PHILIPS公司开发的两线式串行总线 2 IIC在硬件上是时钟总线SCL和数据总线SDA两条线构成 3 器件连接到总线都是SCL连到一起 xf
  • 通过PCF8591读取电压值(AD转换)

    通过PCF8591读取电压值 xff08 AD转换 xff09 A D的主要指标常用A D器件 PCF8591PCF8591的控制字节 A D的主要指标 1 ADC的位数 xff1a n位ADC代表 xff0c 2的n次方个刻度 2 基准源
  • STM32的光敏传感器

    STM32的光敏传感器 简介硬件连接计算公式程序 简介 1 照射光敏二极管的光强不同 xff0c 通过光敏二极管的电流大小就不同 xff0c 所以可以通过检测电流大小 xff0c 达到检测光强的目的 利用这个电流变化 xff0c 我们串接一
  • MPU6050寄存器介绍

    MPU6050寄存器介绍 MPU6050寄存器介绍电源管理寄存器1 xff08 0X6B xff09 陀螺仪配置寄存器 xff08 0X1B xff09 加速度传感器配置寄存器 xff08 0X1C xff09 FIFO使能寄存器 xff0
  • (10)查看RGB摄像头和深度摄像头

    查看RGB摄像头和深度摄像头 RGB摄像头深度摄像头 1 小车开机 xff0c 连接wifi xff0c 远程登录 登录密码 xff1a dongguan ssh wheeltec 64 192 168 0 100 2 挂载 挂载密码 xf
  • (11)色块跟踪

    色块跟踪 一 查看色块追踪的文件位置 xff1a 在ros simple follower文件下的simple followe的Launch文件 二 可调整识别色块的阈值 xff0c 追踪过程中最大速度 xff0c 中距值 xff0c PI
  • (6)ROS与STM32之间的联系

    ROS与STM32之间的联系 简介两者之间的关系两者之间的通信ROS如何在代码层面去接收stm32发送过来的数据1 整体框架2 机器人底盘类3 构造函数4 主函数5 循环功能函数6 析构函数 简介 1 如何实现ROS与stm32之间的通信
  • keil 局部变量不能查看值,显示为not in scope

    关于编译器的优化 xff0c 参考网上的8051系列的说明如下 xff1a xfeff xfeff 0级优化 xff1a 1 常数折叠 xff1a 只要有可能 xff0c 编译器就执行将表达式化为常数数字的计算 xff0c 其中包括运行地址
  • 算法——均方根检波

    均方根检波 1 均方根检波技术2 高精度采样技术3 STM32的ADC4 程序工程文件 1 均方根检波技术 1 均值检波电路通常采用电容充放电电路作为平均值电路 2 由于输出为整流平均值 xff0c 要求电容充放电时间常数相等 3 电容充放
  • 二.LVGL学习——(lv_obj基础对象)

    二 LVGL学习 xff08 lv obj基础对象 xff09 1 介绍2 对象的工作机制3 对象的创建与删除4 Screen 屏幕对象5 实例代码 xff08 1 xff09 6 实例代码 xff08 2 xff09 1 介绍 LVGL是
  • 三.LVGL学习——(Buttons styles)

    三 LVGL学习 xff08 Buttons styles xff09 1 按钮对象样式 2 程序 定义三个lv style t变量 static lv style t style btn 按钮1按下前的样式变量 static lv sty
  • 51单片机串行通信原理

    51单片机串行通信原理 计算机通信串行通信异步通信同步通信数据传送速率传输方向 单片机串行口串行口特殊功能寄存器串行口控制寄存器SCON电源控制寄存器PCON 波特率的设定与计算 PC与多个单片机通信串口如何使用 计算机通信 计算机通信 x
  • 基于动态窗口法(DWA)的局部避障算法研究及MATALB的实现

    一 动态窗口法基本概念 1 1 速度采样空间 1 2 评价函数 二 基于Matlab的机器人局部避障仿真 一 动态窗口法基本概念 动态窗口方法 DynamicWindowApproach 是一种可以实现实时避障的局部规划算法 xff0c 通
  • ROS(python)如何实现1个节点同时订阅2个话题,并实现话题同步,调用同一个callback

    1 创建talker1 span class token comment usr bin env python span span class token comment license removed for brevity span s
  • java与c++的性能比较

    java与c 43 43 的性能比较 参考其他文章 一 从编译器的角度分析性能差异 许多程序员印象中可能认为c 43 43 相比较于java语言性能会更好一点 xff0c 运行速度会快一点 这其中主要是因为java刚出现的时候JIT编译技术
  • OO-数字串char*与数值int_double之间转换

    OO 数字串char 与数值int double之间转换 文章目录 OO 数字串char 与数值int double之间转换 一 任务描述二 TestCase 2 测试集 需要填空的代码源代码 xff08 可以复制在编译器里面自行调试 xf