求助字符转数字方法(新手,可能描述不准确)
请问怎么将32°45′45.62456″转换为32°45′46″ 在这里蹲下我本来想用正则匹配数字和小数, 然后转换的 , 但是不会搞 , 也不知道可不可行
蹲一个解法qwq import re
num = "32°45′45.62456″"
numList = re.findall("+",num)
d = numList
m = numList
s = numList
if int(s.split('.')) >= 5:
s = str(int(s.split('.')) + 1)
else:
s = str(int(s.split('.')))
num = d+"°"+m+"′"+s+"″"
print(num) 临时号 发表于 2022-8-27 17:51
为什么我这样就不行呢
import re
pos = input("请输入位置: ")
poslist = re.findall(r'+', pos)
for sub in poslist:
sub = int(float(sub) + 0.5)
print(poslist, '°', poslist, '′', poslist, '″', sep = '')
def ceil(x):
if type(x) != type(1) and type(x) != type(0.1):
raise TypeError
if int(x) == x:
return int(x)
return int(x)+1
temp = input("请输入:")
first= temp[:temp.find('°')]
second = temp
third= temp
print(str(ceil(float(first)))+'°'+str(ceil(float(second)))+'′'+str(ceil(float(third)))+'″')
s = '32°45′45.62456'
a , b = s . split('°')
d = + b . split('′')
t = str(round(eval(d))) + '°' + str(round(eval(d))) + '′' + str(round(eval(d)))
print(t) 柿子饼同学 发表于 2022-8-27 18:00
为什么我这样就不行呢
import re
pos = input("请输入位置: ")
poslist = re.findall(r'+', pos)
result = []
for sub in poslist:
result.append(int(float(sub) + 0.5))
print(result, '°', result, '′', result, '″', sep = '') import re
num = '32°45′45.62456″'
print(re.sub(re.findall('′(.*)″',num),str(round(float(re.findall('′(.*)″',num)))),num)) 我硬是没明白你想描述什么。但是还是有哪么多人看懂了。
32°45′45.62456″ 转为 数字 32°45′46″
这怎么也不可能转成那样的数字吧。前面是字符串,后面明显还是字符串 ba21 发表于 2022-8-27 21:07
我硬是没明白你想描述什么。但是还是有哪么多人看懂了。
32°45′45.62456″ 转为 数字 32°45′46″
这 ...
嗯,是啊,最后还是转换成字符串 a = '32°45′45.62456″'
if (int(float(a))) > 10:
new_a = a + str(int(float(a)+0.5)) + "″"
else:
new_a = a + str(int(float(a)+0.5)).zfill(2) + "″"
print(new_a) 临时号 发表于 2022-8-27 18:09
能不能把32°45′05.62456″ 改成32°45′06″ DDD-DK 发表于 2022-8-28 19:59
能不能把32°45′05.62456″ 改成32°45′06″
import re
num = '32°45′05.62456″'
print(re.sub(re.findall('′(.*)″',num),str(round(float(re.findall('′(.*)″',num)))).zfill(2),num))
页:
[1]