如何用字串符形式将-3.1变为-1.3
时间: 2023-05-11 17:02:02 浏览: 59
可以使用以下代码将-3.1变为-1.3:
```
local num = -3.1
local str = tostring(num):gsub("%d", function(d)
if d == "1" then
return "3"
elseif d == "3" then
return "1"
else
return d
end
end)
local result = tonumber(str)
```
这段代码将数字转换为字符串,然后使用 `gsub` 函数将字符串中的数字 1 和 3 互换,最后再将字符串转换回数字即可。
相关问题
用java 假设你的出生年月日为:2000-11-11,请用字特串表示这个数据,并将其转换力:2000年 11月11日。
可以用Java中的日期类(Date、Calendar)或时间格式化类(SimpleDateFormat)来实现这个转换。
使用日期类和格式化类的代码如下:
```java
import java.util.Date;
import java.text.SimpleDateFormat;
public class DateDemo {
public static void main(String[] args) {
Date date = new Date(1005840000000L); // 2001-11-11 00:00:00
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年 MM月dd日");
System.out.println(sdf.format(date)); // 输出:2001年 11月11日
}
}
```
上述代码中,将出生年月日转换成毫秒数(1005840000000L)创建一个Date对象,然后使用SimpleDateFormat类的format()方法将Date对象格式化成指定的字符串形式,即“2001年 11月11日”。
另外,也可以使用字符串的substring()方法截取年、月、日,再拼接成新的字符串。代码如下:
```java
public class StringDemo {
public static void main(String[] args) {
String birth = "2000-11-11";
String year = birth.substring(0, 4);
String month = birth.substring(5, 7);
String day = birth.substring(8, 10);
String dateStr = year + "年 " + month + "月" + day + "日";
System.out.println(dateStr); // 输出:2000年 11月11日
}
}
```
上述代码中,使用字符串的substring()方法截取出生年月日的年、月、日,然后使用“年”、“月”、“日”等字符拼接成新的字符串,即“2000年 11月11日”。
mediaPlayer怎么用字节流初始化
使用字节流初始化 MediaPlayer 可以通过以下步骤实现:
1. 创建一个 FileInputStream 对象,用于读取音频文件的字节流。
2. 创建一个 FileDescriptor 对象,将 FileInputStream 对象中的字节流转换为文件描述符。
3. 使用 setDataSource 方法将 FileDescriptor 对象传递给 MediaPlayer 对象,以指定要播放的音频文件。
4. 调用 prepare 方法准备 MediaPlayer 对象进行播放。
以下是代码示例:
```java
try {
// 创建一个 FileInputStream 对象,用于读取音频文件的字节流
FileInputStream fis = new FileInputStream("/sdcard/music.mp3");
// 获取字节流的文件描述符
FileDescriptor fd = fis.getFD();
// 创建一个 MediaPlayer 对象
MediaPlayer mediaPlayer = new MediaPlayer();
// 设置数据源为字节流
mediaPlayer.setDataSource(fd);
// 准备 MediaPlayer 对象进行播放
mediaPlayer.prepare();
// 开始播放音频
mediaPlayer.start();
} catch (IOException e) {
e.printStackTrace();
}
```