【计算机毕业设计】多功能汽车充电桩管理系统
2026/7/2 5:54:52
str.slice(start [, end])[start, end)start索引字符,不包含end索引字符。-1= 最后 1 个字符,-2= 倒数第 2 个;表格
| 参数 | 说明 |
|---|---|
| start | 起始下标,必填;支持正负 |
| end | 结束下标,可选;省略则截取到字符串末尾;支持正负 |
start为负数:实际下标 =字符串长度 + startend为负数:实际下标 =字符串长度 + endend:从start一直截取到末尾slice out of range异常(工控脚本尽量避免越界)squirrel
local s = "1.200"; // 下标:0:'1' 1:'.' 2:'2' 3:'0' 4:'0'squirrel
s.slice(0); // "1.200" 完整复制字符串 s.slice(2); // "200" 从下标2到最后 s.slice(-1); // "0" 取最后1个字符(你之前去尾零用到的写法) s.slice(-2); // "00" 最后2个字符squirrel
s.slice(0,3); // "1.2" 取0,1,2(不含下标3) s.slice(1,4); // ".20" s.slice(-4, -1);// ".20" 负数下标等效 s.slice(1,4)squirrel
// 取字符串最后一位字符 str.slice(-1); // 截断最后1个字符:从0截取到 len-1 str.slice(0, str.len() - 1);对应之前修剪尾零逻辑:
squirrel
while (str.slice(-1) == "0") { // 去掉最后一位 str = str.slice(0, str.len() - 1); }Squirrel 的array也有slice(),规则和字符串完全一致:
squirrel
local arr = [10,20,30,40]; arr.slice(1,3); // [20,30] arr.slice(-2); // [30,40]表格
| 功能 | Squirrel slice | Lua string.sub |
|---|---|---|
| 取最后一位 | str.slice(-1) | string.sub(str, -1) |
| 截断末尾 | str.slice(0, str.len()-1) | string.sub(str, 1, string.len(str)-1) |
| 长度获取 | str.len()方法 | string.len(str)全局函数 |
squirrel
function TrimFloatZero(str) { if (str.find(".") == null) return str; // 循环删除末尾0 while(str.slice(-1) == "0") { str = str.slice(0, str.len() - 1); } // 删除末尾小数点 if(str.slice(-1) == ".") { str = str.slice(0, str.len() - 1); } return str; } // 测试 local t1 = TrimFloatZero("1.200"); // "1.2" local t2 = TrimFloatZero("5.000"); // "5" local t3 = TrimFloatZero("3.140"); // "3.14"