有没有办法在不损失长整数精度的情况下将长转换为字符串?当我试图将一个长整数与一个字符串连接时,它会失去精度。
你试过使用formatfloat()指令吗?
如果我尝试使用它,它会将long转换为float,并且会失去精度。
就在最后一个操作系统发布之前,添加了FormatLong指令。它还没有记录在CRBasic帮助文件中,也没有显示在指令列表中,但它在操作系统和CRBasic预编译器中(这意味着如果您正确键入它,如果您有最新的操作系统和预编译器,它应该会编译)。我对它的了解有限,也没有做过任何测试,所以我不完全确定它是如何工作的。以下是我掌握的信息:)
FormatLong使用说明符d或i将长参数转换为字符串十进制值,或x或x将长参数转化为字符串十六进制值,或o将参数转换为以8(八进制)为底的字符串。
此网站对于长期和浮动转换都是一个很好的参考:
http://www.cplusplus.com/reference/clibrary/cstdio/fprintf/
(注意,参考上面的参考,我们支持formatFloat(G,G,e,e,f)的浮点说明符和formatLong的整数说明符(i,d,o,x,x)。我们目前不支持字符(c)或字符串(s)说明符。我们也只支持格式字符串中的一个说明符。)
请注意,对于FormatFloat和FormatLong
%[flags][width][.prcision][length]说明符
可以出现在格式字符串的中间,如";我已经%d岁了”;
以下是一些例子:
str(1)=formatLong(255,“%d”)
str(2)=formatLong(255
str(3)=formatLong(255
str(4)=formatLong(255
str(5)=formatLong(255
str(6)=formatLong(255,“%5d”)
str(7)=formatLong(255,“%05d”)
str(8)=formatLong(255,“%05x”)
str(9)=formatLong(255,“%05X”)
str(10)=formatLong(255,“%o”)
str(11)=formatLong(65,“我已经%d岁了”)
str(12)=formatLong(255,“H%x”)'&HFF(255)
公用号码为长
数字=str(12)'”&Hff”;为255
我希望这能有所帮助。当做
Dana W。
谢谢你提供的信息Dana。
我有一个与这个话题无关的问题。有没有办法使用校验和函数或任何其他函数来计算数字数组的校验和?它似乎只允许我计算字符串的校验和。