将数字转换为字符

时间:2011-07-08 18:36:35

标签: foxpro visual-foxpro

我对FoxPro不是很熟悉,而且我在尝试修改报告时遇到了问题。 我有一个数字值,我想转换为文本,以便我可以得到前四个字符,但我只能得到前两个字符。

当我在命令窗口中执行以下命令时: ? LEFT(STR(20110547),4)

显示以下值: 20

我预计它会在2011年回归。我做错了什么或者有什么东西我没有考虑?

谢谢, C.R。

2 个答案:

答案 0 :(得分:3)

有几种方法可以做到这一点:

LEFT(ALLTRIM(STR(20110547)),4)

您必须LTRIM或ALLTRIM STR功能,因为它会添加前导空格。来自文档:

如果您指定的长度大于小数点左侧的位数,则STR()将使用前导空格填充返回的字符串。如果指定的长度小于小数点左侧的位数,则STR()返回一个星号字符串,表示数字溢出。

您也可以使用TRANSFORM功能:

LEFT(变换(20110547),4)

答案 1 :(得分:0)

FoxPro也有LEFTC()。它与“LEFT()相同,但用于具有双字节字符的字符串”。也许STR()返回双字节字符。