需要帮助将python中的表达式转换为c#

本文关键字:表达式 转换 帮助 python | 更新日期: 2023-09-27 18:11:28

也许哪个阵营的人能告诉我这是怎么回事:

Python:

temp = int('%d%d' % (temp2, temp3)) / 10.0;

我正在解析温度数据,发现了一条我看不懂的蟒蛇。这是怎么回事?python是不是把两个数字加在一起,然后把它们转换成int,然后除以10?

c#可能看起来像:

temp = ((int)(temp2+temp3))/10;

但我不确定%做什么?数据是乱码的,所以我不知道这行python到c#的正确翻译是什么

需要帮助将python中的表达式转换为c#

在c#中是这样的:

var temp = int.Parse(temp2.ToString() + temp3.ToString())/10f;

或:

var temp = Convert.ToInt32(string.Format("{0}{1}", temp2, temp3))/10f;

这是类似的:在Python字符串格式化中%s和%d有什么区别?

name = 'marcog'
number = 42
print '%s %d' % (name, number)

将打印marcog 42。请注意,name是字符串(%s), number是整数(%d表示小数)。

看到http://docs.python.org/library/stdtypes.html#string-formatting-operations对细节。

所以看起来"%"只是告诉python把右边的值放到左边的占位符中。

来自我引用的答案中链接的文档:

给定format % values(其中format是一个字符串或Unicode对象),format中的%转换规范将被替换为0个或多个value元素。其效果类似于在C语言中使用sprintf()。如果format是一个Unicode对象,或者使用%s转换的任何对象都是Unicode对象,则结果也将是一个Unicode对象。

可能想要设置一个python脚本并尝试一下,将自己的值放入变量中。