VB打印时如何让数字右对齐?

时间:2022-11-04 22:29:29
VB打印时如何让数字右对齐?在线等待,解决问题就给分

13 个解决方案

#1


你是用什么打印的

#2


我是用printer

#3


补上空格,如下面的方法
如果要让这个数字占10个字符的位置
strnum=space(10-len(cstr(num))) & cstr(num)

#4


当然我没有检查是不是大于10个字节,你可以在程序上加上

#5


我用的就是这种方法,还是对不齐呀。

#6


…… Format$(Num,"@@@@@@@@@@")

#7


是不是你里面有中文呀

#8


我在前面也检查过了字符长度了,就是对不齐。我在前面补上6个空格,打印出来只有两个,这是怎么回事?

#9


中文当然有。用Format$(num,"@@@@@@@@@@")也不行,多少个@算一个字符呀。我在VB里面有时是四个算一个空格,有时是5个算一个空格。没法用。我的VB是繁体

#10


用Tab试试
str=chr(9) & num

#11


Dim tmpX As Single
    Dim tmpStr As String
    With Printer
        .CurrentX = tmpX - .TextWidth(tmpStr)
        Printer.Print tmpStr
    End With
    其中tmpx是你要打印的对齐的坐标

#12


先要判断你中文的字数
Public Function longer(ByVal str As String) As Integer
Dim i As Integer
Dim j As Integer
j = 0
For i = 1 To Len(str)
If Asc(Mid(str, i, 1)) < 0 Then j = j + 1
  Next i
  longer = j
End Function

然后根据中文补空格,因为一个中文等于两个英文字母

#13


一般还是用坐标定一下才比较准,空格很难对齐的。

#1


你是用什么打印的

#2


我是用printer

#3


补上空格,如下面的方法
如果要让这个数字占10个字符的位置
strnum=space(10-len(cstr(num))) & cstr(num)

#4


当然我没有检查是不是大于10个字节,你可以在程序上加上

#5


我用的就是这种方法,还是对不齐呀。

#6


…… Format$(Num,"@@@@@@@@@@")

#7


是不是你里面有中文呀

#8


我在前面也检查过了字符长度了,就是对不齐。我在前面补上6个空格,打印出来只有两个,这是怎么回事?

#9


中文当然有。用Format$(num,"@@@@@@@@@@")也不行,多少个@算一个字符呀。我在VB里面有时是四个算一个空格,有时是5个算一个空格。没法用。我的VB是繁体

#10


用Tab试试
str=chr(9) & num

#11


Dim tmpX As Single
    Dim tmpStr As String
    With Printer
        .CurrentX = tmpX - .TextWidth(tmpStr)
        Printer.Print tmpStr
    End With
    其中tmpx是你要打印的对齐的坐标

#12


先要判断你中文的字数
Public Function longer(ByVal str As String) As Integer
Dim i As Integer
Dim j As Integer
j = 0
For i = 1 To Len(str)
If Asc(Mid(str, i, 1)) < 0 Then j = j + 1
  Next i
  longer = j
End Function

然后根据中文补空格,因为一个中文等于两个英文字母

#13


一般还是用坐标定一下才比较准,空格很难对齐的。