求助:如何格式化字符串。

类似其他语言比如说
printf(“测试数值为d%”,num);

JS里好像没有格式化字符串啊

你这个代码如果在creator里就是 cc.log(“测试数值为” + num),这样就行了

如果你非要格式化字符串,看看下面这篇博客

http://blog.csdn.net/loocao/article/details/5149420

谢谢。。。基本是要格式化。不然设计老改文字描述。总不能每次都调整代码。

代码:

		/**
		 * 替换所有匹配exp的字符串为指定字符串
		 * @param exp 被替换部分的正则
		 * @param newStr 替换成的字符串
		 */
		String.prototype.replaceAll = function (exp, newStr) {
		    return this.replace(new RegExp(exp, "gm"), newStr);
		};

		/**
		 * 原型:字符串格式化
		 * @param args 格式化参数值
		 */
		String.prototype.format = function(args) {
		    var result = this;
		    if (arguments.length < 1) {
		        return result;
		    }

		    var data = arguments; // 如果模板参数是数组
		    if (arguments.length == 1 && typeof (args) == "object") {
		        // 如果模板参数是对象
		        data = args;
		    }
		    for ( var key in data) {
		        var value = data[key];
		        if (undefined != value) {
		            result = result.replaceAll("\\{" + key + "\\}", value);
		        }
		    }
		    return result;
		}

用法

//两种调用方式
var template1="我是{0},今年{1}了";
var result1=template1.format("loogn",22);

var template2="我是{name},今年{age}了";
var result2=template2.format({name:"loogn",age:22});


多用Google就有答案。
该用法链接:http://blog.csdn.net/dszgf5717/article/details/51314952

2赞

3Q 太感谢了。

可以用 cc.js.formatStr("Hello, %s!", name);

2赞

3Q 。。。。。