// @ts-nocheck
/**
 * 將字符串轉換為數字
 * @param val 要轉換的字符串
 * @returns 轉換後的數字或原始字符串
 */

// #ifdef APP-IOS || APP-ANDROID
// function toNumber(val: string): number
// function toNumber(val: string): string 
function toNumber(val: string): number|null {
  const n = parseFloat(val); // 使用 parseFloat 函數將字符串轉換為浮點數
  return isNaN(n) ? null : n; // 使用 isNaN 函數判斷是否為非數字，返回轉換後的數字或原始字符串
}
export {toNumber}
// #endif

// #ifndef APP-IOS || APP-ANDROID
export function toNumber(val: string): number | string {
  const n = parseFloat(val); // 使用 parseFloat 函數將字符串轉換為浮點數
  return isNaN(n) ? val : n; // 使用 isNaN 函數判斷是否為非數字，返回轉換後的數字或原始字符串
}
// #endif

// 示例
// console.log(toNumber("123")); // 輸出: 123
// console.log(toNumber("3.14")); // 輸出: 3.14
// console.log(toNumber("hello")); // 輸出: "hello"