转换base 60到base 10在谷歌表与应用程序脚本onEdit // MM:SS.MS到MS
Convert base 60 to base 10 in Google Sheets with apps script onEdit // MM:SS.MS to SS.MS
我在当地一家赛车俱乐部工作,负责计时。我们的定时齿轮输出时间为分:秒。毫秒(MM:SS.MS)并希望输入该数字,但该单元格会自动将其转换为秒。毫秒(ss.ms)格式,所以我可以很容易地做一些计算。我还想继续输入ss.ms格式
例子:
表"时间",列E、F、G、H和任意一行是我输入所有时间的地方。因此,如果我在单元格E3中粘贴1:24.78的时间,我希望它在同一单元格中转换为84.78。
我能够创建一个函数来转换MM:SS。MS到SS,但我想有一个定义的区域,当我输入MM:SS。在单元格中,它将自动转换为同一单元格中的onEdit。function MTS() {
var value = arguments[0].split(".");
var time = value[0].split(":");
var ms = parseInt(value[1],10);
var seconds = parseInt(time[time.length-1],10);
var minutes = parseInt(time[time.length-2],10);
var hours = parseInt(time[time.length-3],10);
var output = (minutes * 60) + seconds + '.' + ms;
return output;
};
这里是谷歌电子表格的链接:
https://docs.google.com/spreadsheet/ccc?key=0AoFFjAyGmvrydGQ5VVd6cXJWTjJMZkhsRkc3bFplOXc& usp =分享
在onEdit
中像现在这样调用MTS(e)
。使用传递的现有电子表格对象(由e
表示)将值设置回转换后编辑的相同范围。e.range.setValue(output);
对于那些可能偶然发现这个问题的人,以下是Bryan p 想出的解决我发布的确切问题的方法。
function onEdit(e) {
if ( e.range.getValue() &&
/^(5|6|7|8)$/.test(e.range.columnStart) &&
e.range.columnStart == e.range.columnEnd &&
e.range.rowStart == e.range.rowEnd ) {
MinutesToSeconds(e);
}
};
function MinutesToSeconds(e) {
var value = e.range.getValue().split(".");
var time = value[0].split(":");
var ms = parseInt(value[1],10);
var seconds = parseInt(time[time.length-1],10);
var minutes = parseInt(time[time.length-2],10);
var output = (minutes * 60) + seconds + '.' + ms;
e.range.setValue(output);
return;
};
这只转换到分钟,您可以在minutestosterone()函数中为"小时"添加另一个变量。然后更改变量"output"中的数学值。
var hours = parseInt(time[time.length-3],10);
如果有人知道如何计算小时数,即使没有小时数的数据,也可以随时发布。
因为如果我做了
var output = (hours * 60) * (minutes * 60) + seconds + '.' + ms;
和没有和数据在"小时"它给出一个NaN错误。
相关文章:
- 我将如何将Base的原型分配给User
- 如何使用javascript操作SVG节点,使其在MS Edge中工作
- 使用Re-base时,在React中从状态绑定和取消绑定Firebase
- 在MS Dynamics CRM 2013中查找联系人,而不是电子邮件中的帐户
- MS Dynamics CRM 2016-addOnKeyPress事件不工作
- 我想使用纯Javascript从MS Dynamics CRM Online 2015添加/检索数据
- MS Dynamics CRM 2016-打开记录时强制新建选项卡/窗口
- Javascript将选定的web文本移动到MS Word
- 来自 MS Access 的 JavaScript 陷阱为空
- 根据条件更改设置间隔的MS
- 使用php中的单选按钮从MS SQL SERVER中删除行
- HTML Playing Base 64编码音频,带angularJS,错误:[$interpole:nooncat]
- 如何修复MS SQL Server 2008R2/2012和Javascript之间的日期差异
- 如何在.NET或JavaScript中使用MS-XCEP和MS-WSTEP从AD CS获得证书
- javascript oop, instanceof and base class
- `base`tag导致iframe在Internet Explorer中以新窗口的形式打开
- MS Edge有一个window.chrome对象??破坏浏览器检测
- Internet Explorer跨域请求无法正常工作,MS没有给出错误的理由
- 检索和更新在MS CRM中不起作用的记录
- 转换base 60到base 10在谷歌表与应用程序脚本onEdit // MM:SS.MS到MS