### 字符串与数字互相转换的实现方法
在编程中,字符串与数字之间的互相转换是常见的操作。以下是几种主流编程语言中实现字符串与数字互相转换的方法。
#### 1. **Java 中字符串与数字的转换**
在 Java 中,可以使用以下方法实现字符串与数字的互相转换:
- **字符串转数字**:可以使用 `Integer.parseInt()` 或 `Double.parseDouble()` 等方法将字符串转换为数字类型[^1]。
```java
String str = "123";
int num = Integer.parseInt(str); // 将字符串转换为整数
double dbl = Double.parseDouble(str); // 将字符串转换为双精度浮点数
```
- **数字转字符串**:可以通过 `String.valueOf()` 方法或直接拼接的方式将数字转换为字符串[^1]。
```java
int num = 123;
String str = String.valueOf(num); // 使用String类的静态方法
String str2 = "" + num; // 使用字符串拼接
```
#### 2. **Python 中字符串与数字的转换**
在 Python 中,字符串与数字的转换非常简单,主要通过内置函数实现:
- **字符串转数字**:可以使用 `int()`、`float()` 等函数将字符串转换为数字类型。
```python
str_num = "123"
num_int = int(str_num) # 转换为整数
num_float = float(str_num) # 转换为浮点数
```
- **数字转字符串**:可以使用 `str()` 函数将数字转换为字符串[^1]。
```python
num = 123
str_num = str(num) # 转换为字符串
```
#### 3. **JSON 字符串与字典的转换(Python 示例)**
在 Python 中,还可以实现 JSON 字符串与字典的互相转换,这本质上也是字符串与数据结构的转换[^3]:
- **字典转 JSON 字符串**:可以使用 `json.dumps()` 方法。
```python
data = {'name': 'Bill', 'company': 'Microsoft', 'age': 34}
json_str = json.dumps(data) # 将字典转换为JSON字符串
print(json_str)
```
- **JSON 字符串转字典**:可以使用 `json.loads()` 或 `eval()` 方法。
```python
json_str = '{"name": "Bill", "company": "Microsoft", "age": 34}'
data = json.loads(json_str) # 将JSON字符串转换为字典
print(data)
```
#### 4. **摩斯密码与字符串的转换(Python 示例)**
除了基本的字符串与数字转换,还可以扩展到更复杂的场景,例如摩斯密码与字符串的互相转换[^2]。以下是一个简单的实现示例:
- **定义摩斯密码表**:
```python
MORSE_CODE_DICT = {
'A': '.-', 'B': '-...', 'C': '-.-.', 'D': '-..', 'E': '.', 'F': '..-.',
'G': '--.', 'H': '....', 'I': '..', 'J': '.---', 'K': '-.-', 'L': '.-..',
'M': '--', 'N': '-.', 'O': '---', 'P': '.--.', 'Q': '--.-', 'R': '.-.',
'S': '...', 'T': '-', 'U': '..-', 'V': '...-', 'W': '.--', 'X': '-..-',
'Y': '-.--', 'Z': '--..', '0': '-----', '1': '.----', '2': '..---',
'3': '...--', '4': '....-', '5': '.....', '6': '-....', '7': '--...',
'8': '---..', '9': '----.'
}
```
- **字符串转摩斯密码**:
```python
def string_to_morse(text):
morse_code = []
for char in text.upper():
if char in MORSE_CODE_DICT:
morse_code.append(MORSE_CODE_DICT[char])
return ' '.join(morse_code)
text = "HELLO"
morse = string_to_morse(text)
print(morse) # 输出:.... . .-.. .-.. ---
```
- **摩斯密码转字符串**:
```python
def morse_to_string(morse_code):
reverse_dict = {v: k for k, v in MORSE_CODE_DICT.items()}
chars = morse_code.split(' ')
return ''.join(reverse_dict.get(char, '') for char in chars)
morse = ".... . .-.. .-.. ---"
text = morse_to_string(morse)
print(text) # 输出:HELLO
```
###