unsigned long类型转换为CString出现的问题
开发工具:VC2010
财务程序读卡时发现有的卡片读出的卡号异常,代码如下:
// 读卡序列号
unsigned long cardNo;
CICReader reader(ICREADER_TYPE_KS8U);
if (IC_SUCCESS != reader.ReadCardNo(cardNo))
{
this->SetDlgItemTextA(IDC_STATIC_NOTIFY, _T("请把车辆IC卡放在读卡器上!"));
break;
}
CString strCardNo;
strCardNo.Format(_T("%ld"), cardNo);
m_logger.Write(_T("检测到IC卡 卡号:") + strCardNo);
有一张卡正确的卡号为4,163,452,108,但是程序最后得到的是-131,515,188,
只是部分卡会出现此问题,对比发现是数值较大的出现此问题。
问题出在 strCardNo.Format(_T("%ld"), cardNo);
%ld表示带符号的长整形,范围为-2,147,483,648-2,147,483,647 ,
而ulong的范围是0-4,294,967,295 ,
把上述代码改为 strCardNo.Format(_T("%u"), cardNo); 问题解决。
本文用菊子曰发布unsigned long类型转换为CString出现的问题的更多相关文章
- 转换为CString
CString a, b, c;c = a + b; 使用Format方法方便的实现int.float和double等数字类型转换为CString字符串. %c 单个字符 %d 十进制整数(int) ...
- 数据库unsigned char*类型图片存进
loadimage1();测试: void Caccess_test_1Dlg::loadimage1()//存入unsigned char*类型的数据图片 { CFileException e; I ...
- ASP.Net Core 里是如何把一个普通的 Action 返回类型转换为某种 IActionResult 的
秘密在于这个类型: Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker 在它的 CreateActionResult 方法里会将相关类型 ...
- Javascript学习笔记:2种其他类型转换为数字Number类型的方式
①使用parseInt()/parseFloat()(在ECMAScript6中是Number.parseInt()/Number.parseFloat()) console.log(parseInt ...
- unsigned char 类型
在蓝牙4.0的开发中,很多数据类型都用到了 unsigned char ,我觉得用这个类型的一个原因是相比较于整型,它占的空间更少. 比如: unsigned char a = 1; // 占1个字 ...
- 小问题,小细节要注意(string类型转换为bool类型)
一个表中的推荐字段是bit类型的,添加的时候推荐有两个值,如<asp:RadioButtonList ID="RadioButtonList1" runat="se ...
- C++@子类类型转换为父类类型
static_cast(*this) to a base class create a temporary copy. class Window { // base class public: vir ...
- C++中将string类型转换为int, float, double类型 主要通过以下几种方式:
C++中将string类型转换为int, float, double类型 主要通过以下几种方式: # 方法一: 使用stringstream stringstream在int或float类型转换为 ...
- c++ string类型转换为char *类型
string 是c++标准库里面其中一个,封装了对字符串的操作 把string转换为char* 有3中方法: 1.data 如: string str="abc"; char *p ...
随机推荐
- shell脚本批量处理字符串
上周五运营那边给了一份手机号码的excle,要求查询出所有对应于用户编号的用户的信息.这个时候遇到了一个问题就是,需要查询的用户数量很多,不可能一个一个去查,而excle中的格式又不符合sqlquer ...
- js中实现字母大小写转换
js中实现字母大小写转换主要用到了四个js函数: 1.toLocaleUpperCase 2.toUpperCase3.toLocaleLowerCase4.toLowerCase 下面就这四个实现 ...
- 剑指offer题目51-60
面试题51:数组中重复的数字 public class Solution { public boolean duplicate(int numbers[],int length,int [] dupl ...
- iOS.ReactNative-2-bridge-and-react-native-app-execution
Bridge and React Native App Execution 基于0.18.1 Async batched bridge used to communicate with the Jav ...
- sublime txt 设置在浏览器预览
1. 安装SideBarEnhancements插件 ctrl+shift+p —> Install Package —> 找到SideBarEnhancements 2. 配置预览快捷键 ...
- cinder ha
- 状态机学习(三)解析JSON
来自 从零开始的 JSON 库教程 从零开始教授如何写一个符合标准的 C 语言 JSON 库 作者 Milo Yip https://zhuanlan.zhihu.com/json-tutorial ...
- lua 入门学习
-- 1.Hello world print( "--------------1--------------") print("Hello world"); - ...
- Python批量修改文件名
处理语料库时,有些文件名字很不规则,为了方便处理,同义按数字顺序修改名称,主要是用到os模块: import os def RenameFiles(srcdir): #将目录下所有的文件命名为数字开头 ...
- [2012山东ACM省赛] Pick apples (贪心,完全背包,枚举)
Pick apples Time Limit: 1000MS Memory limit: 165536K 题目描述 Once ago, there is a mystery yard which on ...