Qt 数据类型转换 QString转Quint16

2023-10-29

如使用了QString存储用户输入的数据,数据类型(指的是quint16, qint16, float, quint32, qint32等)可供用户自己选择的。而最终要使用的数据类型是quin16,下面是各种类型的转换。

一、QString(strValue) 转 quint16

1、用户输入的是16位正整数或者是16位BCD正整数 ,QString 的值转成 quint16,如下:

  bool isOk;
  quint16 dataValue = 0;
  dataVaule = strValue.toUShort(&isOk);   // isOk可以用来判断 QString转成quint16是否转换成功
  return dataValue;

2、用户输入的是16位整数,QString 的值转成 quint16,如下:

  bool isOk;
  quint16 dataValue = 0;
  qint16  tempValue = 0;
  tempValue = strValue.toShort(&isOk);   // isOk可以用来判断 QString转成qint16是否转换成功
  dataValue = tempValue;       //qint16再转成quint16
  return dataValue;

3、用户输入的是32位正整数或者是32位BCD正整数 ,QString 的值转成 quint16,如下:

  bool isOk;
  QList<quint16> dataList;
  quint16 dataValue = 0;
  quint32 uint32Value = 0;
  uint32Value = strValue.toUInt(&isOk);   // isOk可以用来判断 QString转成quint32是否转换成功
  if(isOk)
  {
    dataValue = uint32Value & 0x0000FFFF; //取低16位
    dataList<<dataValue;
    dataValue = uint32Value>>16;         //右移,取高16位
  }
  return dataList;

4、用户输入的是32位整数,QString 的值转成 quint16,如下:

  bool isOk;
  QList<quint16> dataList;
  quint16 dataValue = 0;
  qint32  int32Value = 0;
  int32Value = strValue.toInt(&isOk);   // isOk可以用来判断 QString转成qint32是否转换成功
  if(isOk)
  {
     dataValue = int32Value & 0x0000FFFF;   //取低16位
     dataList << dataValue;
     dataValue = int32Value << 16;        //右移16位, 取高16位的数据
     dataList << dataValue;
  }
  return dataList ;

5、用户输入的是32位浮点数,QString 的值转成 quint16,如下:

  bool isOk;
  QList<quint16> dataList;
  quint16 dataValue = 0;
  qint32  int32Value = 0;
  float   floatValue = 0;
  floatValue = strValue.toFloat(&isOk);   // isOk可以用来判断 QString转成Float是否转换成功
  if(isOk)
  {
     int32Value = floatValue;                //Float 转换为 qint32 
     dataValue = int32Value & 0x0000FFFF;   //取低16位
     dataList << dataValue;
     dataValue = int32Value << 16;        //右移16位, 取高16位的数据
     dataList << dataValue;
  }
  return dataList ;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Qt 数据类型转换 QString转Quint16 的相关文章

  • 在 C# 中实例化 python 类

    我已经用 python 编写了一个类 我想通过 IronPython 将其包装到 net 程序集中 并在 C 应用程序中实例化 我已将该类迁移到 IronPython 创建了一个库程序集并引用了它 现在 我如何真正获得该类的实例 该类看起来
  • 使用inotify监控文件

    我正在使用 inotify 来监视本地文件 例如使用 root temp inotify add watch fd root temp mask 删除该文件后 程序将被阻止read fd buf bufSize 功能 即使我创建一个新的 r
  • ASP .NET MVC 5 - 客户地址一对一关系

    我在这里查看了论坛 实际上发现了一些类似的问题 但不是相同的问题 类似的解决方案没有给我正确的答案 我正在使用实体框架和代码优先方法来处理 ASP NET MVC 5 我想建立客户 gt 地址一对一关系的模型 我建模的是 客户等级 publ
  • 将 Visual Studio 2012 C++ 单元测试项目链接到 exe 会导致访问冲突

    我从现有的整体 exe 本机 Visual Studio 2012 项目开始 我想添加一个本机单元测试项目 根据http msdn microsoft com en us library hh419385 aspx objectRef ht
  • 堆栈独立的C/C++蓝牙API?

    我想知道是否有适用于 Windows XP Vista 7 x86 和 x64 的堆栈独立 C C 蓝牙 api 我的目标是创建连接并通过蓝牙发送 接收一些时间关键的数据 我的研究给了我以下选择以及这项任务的缺点 用于蓝牙的 Windows
  • 实体框架 5 不清除导航属性

    我在 Entity Framework 5 中遇到了这个奇怪的问题 我在其中一个实体中有一个导航属性 我想将其设置为null 但由于某种原因 该属性只有在我第二次调用该属性时才会被清除 using var db new Entities v
  • 为什么 CMake 不通过在定义该变量之前创建的 CMAKE_CXX_STANDARD 将语言标准编译标志添加到目标?

    我在用着cmake version 3 22 1 and c Ubuntu 11 3 0 1ubuntu1 22 04 11 3 0 以及非常简约的CMakeLists txt 我无法让 CMAKE 使用 C 20 Setting set
  • 如何使用 ASP.NET MVC 4.0 DonutOutputCache VaryByCustom 使缓存失效

    我正在为我的 ASP NET 应用程序使用 DevTrends MvcDonutCaching 包 它工作得很好 我目前遇到的一个问题是使我为子操作设置的 VaryByCustom 缓存无效 这是我用于 VaryByCustom 设置的一些
  • 如何解决素数函数的大O表示法?

    我正在尝试理解 Big O 表示法 很抱歉 如果我问的问题太明显了 但我似乎无法理解这一点 我有以下 C 代码函数 我正在尝试为其计算 Big O 表示法 for i 2 i lt 100 i for j 2 j lt i j j if i
  • 为什么long long 2147483647 + 1 = -2147483648? [复制]

    这个问题在这里已经有答案了 为什么这段代码不打印相同的数字 long long a b a 2147483647 1 b 2147483648 printf lld n a printf lld n b 我知道int变量的最大数量是2147
  • 当应用程序未聚焦时监听按键

    我有一个应用程序 C 4 0 WPF 它是隐藏的 可以通过单击系统托盘图标或我创建的其他框架 停靠在左侧和最上面的小框架 来显示 My customer wants to add a new way to display the appli
  • 将 libpng 链接到 android 原生项目

    我在尝试在本机 Android 项目中加载 libpng 时遇到问题 编译器似乎无法识别 libpng 函数 但可以识别类型 如 png byte 它可以正常编译类型 但如果我添加函数 则会抛出错误 这是编译输出 Windows 7 cmd
  • 在 C# 4.0 中,是否可以从泛型类型参数派生类?

    我一直在尝试这个 但我似乎无法弄清楚 我想做这个 public abstract class SingletonType
  • 如何定义 Swagger UI 参数的默认值?

    我已将 Swagger Swashbuckle 集成到 NET Core 2 2 API 项目中 一切都很好 我的要求纯粹是为了方便 考虑以下 API 方法 public Model SomeEstimate SomeRequest req
  • g++4.9 不支持 std::align

    在学习对齐问题等时 我意识到我的 g 4 9 macports OS X 实现不支持std align 如果我尝试编译 使用 std c 11 此示例代码来自http www cplusplus com reference memory a
  • 是否可以从.NET Core中间件检索控制器的操作结果?

    public class UsersController APIControllerBase public UsersController public Client Get return new Client ClientID 1 Las
  • 为 C++ 类播种 rand()

    我正在开发一个 C 类 它使用rand 在构造函数中 我真的希望这个班级在几乎所有方面都能照顾好自己 但我不知道在哪里播种rand 如果我播种rand 在构造函数中 每次构造我的对象类型的新实例时都会对其进行播种 因此 如果我按顺序创建 3
  • Android NDK - 仅用 C/C++ 编写

    有没有一种可能的方法可以使用 C C 编写整个 NDK 应用程序 而无需像 hello jni 示例项目 HelloJni java 中那样的 Java 入门 类 以某种方式创建一个 HelloJni c 来执行相同的操作 从 Androi
  • 任何浮点密集型代码是否会在任何基于 x86 的架构中产生位精确的结果?

    我想知道使用浮点运算的 C 或 C 代码是否会在任何基于 x86 的体系结构中产生位精确的结果 无论代码的复杂性如何 据我所知 自 Intel 8087 以来的任何 x86 架构都使用准备处理 IEEE 754 浮点数的 FPU 单元 并且
  • MsBuild 在 Visual Studio Online 上找不到恢复的 NuGet 包

    我尝试构建一个存储在 Visual Studio Online 上的外部 GIT 存储库中的解决方案 它有以下步骤 1 Git 恢复 有效 2 NuGet 恢复 有效 3 构建 不起作用 查看日志时我的第一个猜测是 MsBuild 没有查找

随机推荐

  • 全球第二大成人网站,黄了!

    推荐大家关注一个公众号 点击上方 编程技术圈 关注 星标或置顶一起成长 后台回复 大礼包 有惊喜礼包 每日英文 To give up is easy But to hold it together when everyone else th
  • 历届试题 高僧斗法  (博弈)

    题目 历届试题 高僧斗法 时间限制 1 0s 内存限制 256 0MB 锦囊1 博弈论 NIM取子游戏 锦囊2 将两个两个看成一组 他们之间的间隔可以看成一个NIM取子游戏 问题描述 古时丧葬活动中经常请高僧做法事 仪式结束后 有时会有 高
  • tomcat加载jar包顺序

    概述 项目使用springMVC serviceImpl注入的一个bean无法找到 究其原因是无法找到日志类 其实在spring的配置文件中配置了bean 而且程序代码在其他人的机子上运行不报错 我这边抱错 类找不到apache commo
  • 华为手机如何固定横屏_华为手机屏幕如何转为横屏?很简单,只需这样设置

    设置华为手机横屏显示 需要打开手机的 自动旋转 功能 在使用时将手机机身横置即可 以华为P20Pro为例 详细操作步骤如下 1 从屏幕顶部向下滑动 调出系统的通知面板 2 向下拖拽通知面板 让面板显示全部快捷功能 3 在通知面板中 找到并打
  • SQLyog快捷键,这一篇就够!!

    我们在使用SQLyog进操作时 如果不使用快捷键 会很麻烦 尤其是多行注释这种骚操作 所以在非常忙碌的工作中 使劲的挤了挤 挤出点时间 来整理一下sqlyog的常用快捷键骚操作 一 连接 Ctrl M 创建一个新的连接 Ctrl N 使用当
  • C# 参数传递(引用类型参数)

    目录 一 引言 二 引用类型参数作为值参数传递 三 引用类型参数作为引用参数传递 一 引言 方法中参数的传递方式主要有值参数传递和引用参数传递 ref out 而参数有可以分为值类型参数和引用类型参数 这里主要讲一讲引用类型参数的值 引用参
  • STM32F407IG单片机读写SD2405ALPI实时时钟程序(包括:读时钟时间、写时间到时钟、时间报警中断、倒计时中断)

    具体的IIC时序图和分析过程请参见下面网友的文章 https blog csdn net ybhuangfugui article details 52151835 本人在STM32F407单片机上亲测读时钟 写时钟 时间中断以及倒计时 秒
  • 简述RecyclerView的fling过程

    我们以RecyclerView为例 研究一下ListView是怎么滑动并且更新view的 首先可以肯定的是以Choreographer为基础实现的 一 fling过程研究 fling动作是由input事件触发的 1 1 RecyclerVi
  • 如何用Idea调试Maven插件

    调试端 maven插件源码端 被调试端 maven项目端 使用maven插件构建 和调试普通程序一样 只是调试命令有区别 过程原理如下 注 原理图片摘自https www cnblogs com turn2i p 11823884 html
  • vue实现一个展开和关闭的动画效果

    前言 用 vue animation 来实现一个展开与关闭的效果 效果图 组件逻辑 1 核心是通过改动他的宽度来实现展开 收缩的效果 2 点击展开 分两步 先用动画显示一个展开的效果 再用定时器来让他的效果保存在最后一帧 3 点击收缩 逻辑
  • 泽众TestOne自动化测试平台,挡板测试(Mock测试)上线了!!

    什么是挡板测试 Mock测试 主要应对与某些不容易构造或者不容易获取的对象以及暂时没有开发完成的对象 设计一个虚拟的对象 配置测试需求的业务数据 完成测试业务 TestOne是泽众软件自主研发的一体化测试系统 基于B S 体系结构 集自动化
  • Redis详解(二)——Redis基本操作

    今天继续给大家介绍Redis的相关知识 本文主要内容是Redis的基本操作 本文旨在为大家介绍Redis的基本操作 属于Redis入门级的介绍 如果想要进一步了解Redis的使用操作 推荐以下网站 https www runoob com
  • 魔改 vue-quill-editor字体及字号

  • Android Studio在vivo手机上调试apk出现解析包出错

    在Android studio开发过程中出现解析包时出现问题 用的是vivo y73 Android 8 1的手机 今年刚新出的手机 在开发的时候一直用着是6 0的系统 突然用到8 1的系统进行适配 发现各种报错 还有一个是手机处理器也是一
  • Android中Acition和Category常量表

    Action Action常量 对应字符串 简单说明 ACTION MAIN android intent action MAIN 应用程序入口 ACTION VIEW android intent action VIEW 显示指定数据 A
  • 基础算法:高精度加法

    高精度加法 代码模拟加法过程 1 lt 整数长度 lt 10 5 长整数的加法 int类型的最大值大概 2 1e9 10位长度 include
  • 【Anaconda】安装软件包时Solving environment卡住很长时间

    多数情况下的原因 安装该库需要考虑各软件包的兼容性 可能导致的无法安装的情况 可能解决方法 方法一 创建一个新的 python 环境 只安装代码中需要的库 conda create n name python version conda a
  • Matlab:筛选满足指定条件的数组元素

    Matlab 筛选满足指定条件的数组元素 在Matlab中 我们可以使用一些函数来筛选满足特定条件的数组元素 这些函数包括 find logical 和 indexing 等 下面以一个简单的实例来说明如何查找符合条件的数组元素 假设有一个
  • 判断应用或Activity是否存在

    一 判断应用是否存在 方法一 通过usb连接的方式 使用adb命令查看已安装的文件列表 adb shell pm list package 然后通过查看列表里是否含有对应的应用名来判断是否安装某应用 列表如下 adb shell pm li
  • Qt 数据类型转换 QString转Quint16

    如使用了QString存储用户输入的数据 数据类型 指的是quint16 qint16 float quint32 qint32等 可供用户自己选择的 而最终要使用的数据类型是quin16 下面是各种类型的转换 一 QString strV