【发布时间】:2015-08-31 19:20:35
【问题描述】:
这是一个 FreePlane Groovy 代码。 任务是提取节点详细信息并将其转换为整数,或者如果详细信息为空(空)或非数字,则将其保留为 1。最初,节点详细信息在纯文本布局中仅包含“4”。
这是我的代码:
def getRepetitions(node)
{
if (node.details!=null){
node['node.details']=node.details
node['node.details.size()']=node.details.size()
node['getPlain()']=node.details.getPlain()
node['getPlain().size()']=node.details.getPlain().size()
node['node.details.status']='not null'
getRepetitions=(double)(node.details.getPlain())-48
}else{
node['node.details.status']='null'
getRepetitions=1
}
}
这是一个问题,因为代码不会将文本“4”转换为 4,而是转换为 52(顺便说一下,“4”的 ASCII 代码)。更糟糕的是,当我减去 48,使得差值等于数字本身时,它并不注意。
如果 toNumber(...) 或 .to.num0 之类的函数可以工作,我不会发布这个,但是当我尝试实现这个时,我看到了
"消息:没有方法签名:org.freeplane.plugin.script.proxy.Proxy$NodeRO.toNumber() 适用于参数类型:(java.lang.String) 值:[4]行号:- 1结果:方法没有签名:org.freeplane.plugin.script.proxy.Proxy$NodeRO.toNumber() 适用于参数类型:(java.lang.String) 值:[4] at line -1"
提前致谢。
【问题讨论】:
标签: java groovy casting mindmapping