【发布时间】:2014-03-13 13:05:28
【问题描述】:
为了显示逗号分隔的数字,我将本地设置为
setlocale(LC_NUMERIC, "en_US");
然后撰写消息
char msg[100]={0};
sprintf(msg,"Reach a score %'ld.",mission.param1);
mission.msg=msg;
然后我将此消息显示为:
sprintf( msgStr,"%s",mission.msg.c_str());
_missionStatusLabel1=CCLabelTTF::create(msgStr, "MarkerFelt-Thin", 52 * _scaleY, CCSizeMake(1000 * _scaleX,0),
kCCTextAlignmentLeft);
_missionStatusLabel1->setPosition( ccp(_screenSize.width * 0.53f, _screenSize.height*0.704f) );
问题是,在模拟器上它显示正确的格式,例如 25000,它显示 25,000,但是当我在 iPad(ios7) 上运行时,它只显示 25000 而没有逗号。
我可能缺少什么?
编辑:
或者您将如何显示逗号分隔的数字?
【问题讨论】:
-
这不是你问题的答案,但你应该避免使用像 0.704f 这样的文字,而是将它们存储在一个常量中。否则 1) 如果你想改变它,你只需要在一个地方做 2) 它赋予值一些意义(即 SCALE_VALUE 比 0.704f 更容易理解)。
-
查看setlocale的结果(确保iPad支持en_US)
-
@DieterLücking 感谢您指出我检查了模拟器它返回 en_US 但对于 iPad 它返回 null 那么我现在该怎么办?
-
@Eklavyaa 安装或使用其他
-
好吧,如果用户没有在他们的设备上安装它,这似乎是一个主要问题,在这种情况下,它根本不会显示逗号。
标签: c++ ios objective-c cocos2d-x