diff --git a/.changelog/lang_zh-Hans.json b/.changelog/lang_zh-Hans.json index 3aa71845..3e6557c2 100644 --- a/.changelog/lang_zh-Hans.json +++ b/.changelog/lang_zh-Hans.json @@ -17,6 +17,7 @@ "floaty.window/rawWindow 方法无法接受字符串参数的问题", "util.class[Name]/getClass[Name] 可能返回错误结果的问题", "threads.disposable() 返回的对象在存取数据时可能被意外装箱的问题 _[`issue #435`](http://issues.autojs6.com/435)_", + "console/toast 等方法显示 Java Double 时可能丢失末尾零的问题", "无法使用 console/toast 等方法显示 BigInt 数据类型的问题", "部分全局对象可能丢失 JavaScript 原型属性及方法的问题", "使用 XML 语法将 JavaScript 表达式作为属性值时, this 对象可能出现指向错误的问题", diff --git a/app/src/main/java/org/autojs/autojs/runtime/api/augment/util/Inspect.kt b/app/src/main/java/org/autojs/autojs/runtime/api/augment/util/Inspect.kt index c9f94732..5a1f6248 100644 --- a/app/src/main/java/org/autojs/autojs/runtime/api/augment/util/Inspect.kt +++ b/app/src/main/java/org/autojs/autojs/runtime/api/augment/util/Inspect.kt @@ -2,13 +2,15 @@ package org.autojs.autojs.runtime.api.augment.util import org.autojs.autojs.annotation.RhinoFunctionBody import org.autojs.autojs.core.automator.UiObjectCollection +import org.autojs.autojs.extension.AnyExtensions.isJsBoolean import org.autojs.autojs.extension.AnyExtensions.isJsNonNullObject import org.autojs.autojs.extension.AnyExtensions.isJsNullish +import org.autojs.autojs.extension.AnyExtensions.isJsNumber +import org.autojs.autojs.extension.AnyExtensions.isJsString import org.autojs.autojs.extension.AnyExtensions.jsBrief import org.autojs.autojs.extension.ArrayExtensions.toNativeObject import org.autojs.autojs.extension.FlexibleArray.Companion.component1 import org.autojs.autojs.extension.FlexibleArray.Companion.component2 -import org.autojs.autojs.extension.NumberExtensions.jsString import org.autojs.autojs.extension.ScriptableExtensions.prop import org.autojs.autojs.rhino.ProxyObject import org.autojs.autojs.rhino.ProxyObject.Companion.AUGMENTED_CUSTOM_TO_STRING_KEY @@ -577,7 +579,7 @@ object Inspect : Augmentable(), Invokable { // For some reason, typeof null is "object", so special case here. ctx.stylize("null", "null") } - value is String -> { + value.isJsString() -> { val content = Context.toString(js_json_stringify(value)) .removeSurrounding("\"") .replace(Regex("'"), "\\\'") @@ -594,10 +596,10 @@ object Inspect : Augmentable(), Invokable { ctx.stylize(content, "string") } - value is Number -> { - ctx.stylize(value.jsString, "number") + value.isJsNumber() -> { + ctx.stylize(value.toString(), "number") } - value is Boolean -> { + value.isJsBoolean() -> { ctx.stylize(Context.toString(value), "boolean") } else -> null