如何从变量分离字符及处理API返回POWER数值保留小数点后一位?
1. 如何从变量中分离字符?
不同编程语言的实现思路核心一致:先确保变量为字符串类型(非字符串类型需先转换),再通过索引、切片或内置方法提取目标字符。以下是主流语言的示例:
- Python
- 字符串变量直接操作:
my_str = "example",取单个字符用my_str[2](得到a),切片提取多个字符用my_str[0:3](得到exa)。 - 非字符串变量先转字符串:
num = 12345,转字符串后取字符str(num)[3](得到4)。
- 字符串变量直接操作:
- JavaScript
- 字符串变量操作:
let str = "test",用索引str[1]或str.charAt(1)(均得到e)。 - 数字转字符串后处理:
let num = 6789,num.toString()[2](得到8)。
- 字符串变量操作:
2. 处理POWER数据保留小数点后一位
你的需求是截断小数点后第二位及以后的数字(而非四舍五入),以下是主流语言的实现方案:
数据格式说明
API返回的每行数据格式为{POWER : 数值},需要先提取数值,再进行截断处理。
Python实现
import re # 模拟API返回的数据 power_lines = [ "{POWER : 1343.45}", "{POWER : 15623.34577}", "{POWER : 123.434}" ] for line in power_lines: # 用正则匹配提取数值部分 num_match = re.search(r'\d+\.\d+', line) if num_match: original_num = float(num_match.group()) # 截断到小数点后一位 truncated_num = int(original_num * 10) / 10 # 按原格式输出 print(f"{{POWER : {truncated_num:.1f}}}")
输出结果:
{POWER : 1343.4} {POWER : 15623.3} {POWER : 123.4}
JavaScript实现
// 模拟API返回的数据 const powerLines = [ "{POWER : 1343.45}", "{POWER : 15623.34577}", "{POWER : 123.434}" ]; powerLines.forEach(line => { // 提取数值 const originalNum = parseFloat(line.match(/\d+\.\d+/)[0]); // 截断到小数点后一位 const truncatedNum = Math.floor(originalNum * 10) / 10; // 按原格式输出 console.log(`{POWER : ${truncatedNum.toFixed(1)}}`); });
输出结果:
{POWER : 1343.4} {POWER : 15623.3} {POWER : 123.4}
注意事项
如果需求是四舍五入保留一位小数,只需替换截断逻辑:
- Python:
rounded_num = round(original_num, 1) - JavaScript:
roundedNum = Math.round(originalNum * 10) / 10
内容的提问来源于stack exchange,提问作者Reyhan
相关产品推荐
相关产品推荐

