首页 > 编程语言 >B4X编程语言:B4X智能字符串

B4X编程语言:B4X智能字符串

时间:2024-12-16 13:32:20浏览次数:6  
标签:输出 12345.3456 Log 编程语言 s1 B4X DateTime 字符串

        智能字符串是标准字符串的更强大版本。它具有支持多行字符串、无需转义引号、支持字符串插值三个优点。
        智能字符串以 $" 开头,以 "$" 结尾,返回标准字符串。

        示例:
        Dim s As String=$"My name is"$
        Dim s1 As String=$"${s}:Jety"$
        Log(s1)         输出:My name is}:Jety

        Dim s2 As String=$"使用智能字符串无需转义“引号”!"$
        Log(s2)         输出:使用智能字符串无需转义“引号”!

        一、字符串插值

        智能字符串可以保存零个或多个带有代码的占位符。占位符可以轻松格式化。占位符以 $[可选格式化程序]{ 开头,以 } 结尾:
        Log($"5 * 3 = ${5 * 3}"$)
        输出结果:5 * 3 = 15

        您可以在占位符内放置任何您喜欢的代码,如:变量、表达式。
        Dim x = 1, y = 2, z = 4 As Int
        Log($"x = ${x}, y = ${y}, z = ${Sin(z)}"$) 
        输出结果:x = 1, y = 2, z = -0.7568024953079282

        这是一个编译时功能。您无法从文件加载智能字符串源码。

        二、数字格式化程序

        数字格式化程序允许您设置整数的最小位数和小数的最大位数。它类似于关键字 NumberFormat 。
        语法:$ MinIntegers.MaxFractions{数字表达式}
        其中:
        MinIntegers是整数部分最小位数,如果大于数字表达式值的整数位数,则在整数前用0补足,使整数位数和MinIntegers相等;如果小于数字表达式的整数位数,则忽略。
        MaxFractions是小数部分的最大位数,如果大于数字表达式值的小数位数,则忽略,如果小于数字表达式值的小数位数,则四舍五入保留MaxFractions个小数位。
        如果不使用MinIntegers.MaxFractions,则直接输出数字表达式值的字符串形式;如果仅限定整数的最小位数,则仅用MinIntegers;如果仅限定小数位数,则MinIntegers小于等于整数位数即可,也可使用0.MaxFractions。

        注意:智能字符串输出的数字格式默认带有千位分隔符,如果不想其带有千位分隔符,可用replace去掉。

        示例:
        Dim s1 As String=$"$3{12345.3456}"$
        Log(s1.Replace(",",""))         ' 输出结果:12345.3456
        s1=$"$3{12345.3456}"$
         Log(s1.Replace(",",""))         ' 输出结果:12345.3456
        s1=$"$8{12345.3456}"$
        Log(s1.Replace(",",""))         ' 输出结果:00012345.3456
        s1=$"$3.5{12345.3456}"$
        Log(s1.Replace(",",""))         ' 输出结果:12345.3456
        s1=$"$3.3{12345.3456}"$
        Log(s1.Replace(",",""))         ' 输出结果:12345.346
        s1=$"$7.2{12345.3456}"$
        Log(s1.Replace(",",""))         ' 输出结果:0012345.35

        数字格式化程序还常用于限定时间输出格式:
        Dim h = 2, m = 15, s = 7 As Int
        Log($"剩余时间 $2{h}:$2{m}:$2{s}"$)         '输出结果:剩余时间 02:15:07

        如果数字表达式不能返回数字,则输出NaN:
        Log($"$1.2{"该值不是数字!"}"$) ' 输出结果:NaN

        三、其他格式化程序

        1、Date

         相当于 DateTime.Date。
        Log($"当前日期为 $date{DateTime.Now}"$) 
        输出结果:当前日期为 12/13/2024

        2、Time

        相当于 DateTime.Time。
        Log($"当前时间为 $time{DateTime.Now}"$)
        输出结果:当前时间为 18:55:16

        3、DateTime

        相当于 DateTime.Date & " " & DateTime.Time。
        Log($"当前时间为 $DateTime{DateTime.Now}"$)
        输出结果:当前时间为 12/13/2024 18:57:35

        4、XML

         转义五个 XML 实体 (", ', <, >, &):

        Dim UserString As String = $"它会破坏您的解析器 ><'"&?"$
        Log(UserString)
        输出结果:它会破坏您的解析器 ><'"&?
        Log($"用户输入是: $xml{UserString}"$)
        输出结果:用户输入是:它会破坏您的解析器 ><'"&?
        这对于 html 内容也很有用。

标签:输出,12345.3456,Log,编程语言,s1,B4X,DateTime,字符串
From: https://blog.csdn.net/yshzsl1968/article/details/144484372

相关文章

  • c++小结之字符串字面量
    存储区域字符串字面量是形如"Thisisabook.\n"这样的一组明确的字符串。字符串字面量通常存储在内存的静态存储区。静态存储区大小固定,不受操作系统影响,但是一般比较小。多个相同的字符串字面量多个相同的字符串字面量在内存是存储在同一个位置。比如:constchar*a="This......
  • B4X编程语言:B4X字符串生成器StringBuilder
            SQL查询字符串、B4J控件的Style属性字符串等有时候会很长,不但影响代码结构的可读性,而且易出错、不方便输入和维护。我们通常会拆分为两个或多个字符串变量,输入后再连接合并使用。        B4X为我们提供了一个很好用的字符串操作对象:StringBuilder字符......
  • string字符串拼接
    功能描述:实现在字符串末尾拼接字符串函数原型:string&operator+=(constchar*str);//重载+=操作符string&operator+=(constcharc);//重载+=操作符string&operaotr+=(conststring&str);//重载+=操作符string&append(constc......
  • 2024-12-14:K 周期字符串需要的最少操作次数。用go语言,给定一个长度为n的字符串 word
    2024-12-14:K周期字符串需要的最少操作次数。用go语言,给定一个长度为n的字符串word和一个整数k,k是n的因数。每次操作可以选择两个下标i和j,使得i和j都可以被k整除,然后用从j开始的长度为k的子串替换从i开始的长度为k的子串。要使得word成为一个K周期字符串,需要进行最少的操作次数......
  • 【算法】【字符串】关联子串
    1 题目给定两个字符串str1和str2,如果字符串str1中的字符,经过排列组合后的字符串中,只要有一个字符串是str2的子串,则认为str1是str2的关联子串。若str1是str2的关联子串,请返回子串在str2的起始位置;若不是关联子串,则返回-1。输入描述:输入两个字符串,分别为题目中描述的str1、str......
  • WIDECHAR 是 Windows 操作系统中用于表示和处理 Unicode 字符的一个概念,通常涉及到支
    WIDECHAR是WindowsAPI中用于处理宽字符(widecharacter)的一种类型,通常表示使用Unicode字符编码的字符。在Windows操作系统中,字符可以分为两种类型:ASCII字符:即单字节字符,每个字符用一个字节(8位)表示,能表示128个字符(包括标准英语字符、数字和一些符号)。宽字符:即宽字节字......
  • Python中去除字符串中的单个或多个空格的方法
    python中去除字符串中空格的方法比较多,单个看起来也都比较简单将常用的去除字符串中空格的方法汇总如下 方法一:strip()方法>>>S1="IloveDory">>>S1.strip()#去除字符串首尾的空格'IloveDory' 方法二:lstrip()方法>>>S2="IloveDory">>&......
  • 2、多线程-三个线程分别打印 A,B,C,要求这三个线程一起运行,打印 n 次,输出形如“ABCABCABC
    题目三个线程分别打印A,B,C,要求这三个线程一起运行,打印n次,输出形如“ABCABCABC....”的字符串代码示例publicclassZeroEvenOdd{ privateintn; privateAutoResetEventaEvent=newAutoResetEvent(true);//一开始A可以运行 privateAutoResetEventbEvent=new......
  • 使用 Crystal 编程语言实现验证码识别自动化流程
    说明Crystal是一种静态类型的、编译型编程语言,具有类似Ruby的语法,但提供了更高的性能和效率。它是一种面向开发高性能应用程序的语言,且在web编程中也有应用。我们将使用Crystal来实现一个模拟的验证码处理流程。代码实现假设我们在进行一个自动化测试任务,需要处理图......
  • 代码随想录算法训练营第四十五天|LeetCode115.不同的子序列、LeetCode583.两个字符串
    前言打卡代码随想录算法训练营第49期第四十五天ε(*′・∀・`)з゙首先十分推荐学算法的同学可以先了解一下代码随想录,可以在B站卡哥B站账号、代码随想录官方网站代码随想录了解,卡哥清晰易懂的算法教学让我直接果断关注,也十分有缘和第49期的训练营大家庭一起进步。LeetCode115不......