判断字符串121°17′″E ′到″符号之间是否有值
时间: 2024-06-16 08:00:19 浏览: 101
要判断字符串"121°17′″E"中的度数和分钟之间是否有值,可以通过以下步骤进行:
1. 首先,找到度数和分钟之间的符号。在这个字符串中,度数和分钟之间的符号是"°"和"′"。
2. 使用字符串的find()方法找到这两个符号在字符串中的位置。
3. 判断这两个符号之间是否有其他字符。可以通过比较这两个符号的位置来确定。如果这两个符号之间有其他字符,则表示有值;如果它们之间没有其他字符,则表示没有值。
下面是一个示例代码来实现上述逻辑:
```python
def check_value_between_symbols(string):
degree_symbol = "°"
minute_symbol = "′"
degree_index = string.find(degree_symbol)
minute_index = string.find(minute_symbol)
if degree_index != -1 and minute_index != -1 and degree_index < minute_index - 1:
return True
else:
return False
string = "121°17′″E"
has_value = check_value_between_symbols(string)
print(has_value)
```
这段代码会输出True,表示字符串"121°17′″E"中的度数和分钟之间有值。
相关问题
Java 经纬度 30°42′35.07″ 转小数格式字符串 代码
可以使用以下代码将这个经纬度转换为小数格式字符串:
```java
public static String convertDMS2Decimal(String dms) {
String[] parts = dms.split("°|′|″");
double degrees = Double.parseDouble(parts[0]);
double minutes = Double.parseDouble(parts[1]);
double seconds = Double.parseDouble(parts[2]);
char direction = parts[3].charAt(0);
double decimal = degrees + (minutes / 60) + (seconds / 3600);
if (direction == 'S' || direction == 'W') {
decimal *= -1;
}
return String.format("%.4f", decimal);
}
```
其中,`dms` 是输入的经纬度字符串,例如 `"30°42′35.07″"`。该方法将字符串按照度、分、秒和方向拆分成四个部分,然后将其转换为小数格式。最后使用 `String.format` 将小数格式化为四位小数的字符串返回。注意,如果方向是南或西,则需要将小数乘以 -1。
你可以使用以下代码调用该方法:
```java
String dms = "30°42′35.07″";
String decimal = convertDMS2Decimal(dms);
System.out.println(decimal);
```
输出结果应该是:`30.7097`。
用C语言判断判断字符串中是否只包含小数点和°这两个标点符号
在C语言中,你可以使用标准库函数如`strspn()`和`ispunct()`来判断一个字符串是否只包含小数点`.`和度数符号`°`。`strspn()`函数用于查找字符串中连续的非空字符,而`ispunct()`函数则检查某个字符是否是标点符号。下面是一个简单的示例:
```c
#include <ctype.h> // 包含ispunct()函数
int is_only_period_and_degree(char str[]) {
int len = strlen(str); // 获取字符串长度
if (len == 0) { // 如果字符串为空,直接返回false
return 0;
}
for (int i = 0; i < len; i++) {
if (!ispunct(str[i]) || str[i] != '.' || str[i] != '°') { // 检查每个字符是否为预期的两个标点符号
return 0; // 找到非标点符号或其他符号,立即返回false
}
}
return 1; // 遍历完未发现其他字符,说明只有小数点和度数符号,返回true
}
// 使用方法
char test_str[] = "12.3°";
if (is_only_period_and_degree(test_str)) {
printf("字符串只包含小数点和°。\n");
} else {
printf("字符串除了小数点和°还包含其他字符。\n");
}
```