Math.Floor メソッド
'宣言
Public Shared Function Floor ( _
d As Double _
) As Double
'使用
Dim d As Double
Dim returnValue As Double
returnValue = Math.Floor(d)
パラメータ
d
型 : System.Double
倍精度浮動小数点数。
戻り値
型 : System.Double
d 以下の最大の整数。d が NaN、NegativeInfinity、PositiveInfinity のいずれかに等しい場合はその値が返されます。
解説
このメソッドの動作は IEEE 規格 754、セクション 4 に従います。このような丸めは、負の無限大への丸めと呼ばれることがあります。つまり、d が正の場合は、小数部が切り捨てられます。d が負の場合は、小数部が存在すると次に小さな整数に丸められます。このメソッドの演算は、正の無限大への丸めをサポートしている Ceiling メソッドとは異なります。
例
Math.Floor(Double) メソッドについて説明し、このメソッドを Ceiling(Double) メソッドと比較する例を次に示します。
Dim values() As Double = {7.03, 7.64, 0.12, -0.12, -7.1, -7.6}
Console.WriteLine(" Value Ceiling Floor")
Console.WriteLine()
For Each value As Double In values
Console.WriteLine("{0,7} {1,16} {2,14}", _
value, Math.Ceiling(value), Math.Floor(value))
Next
' The example displays the following output to the console:
' Value Ceiling Floor
'
' 7.03 8 7
' 7.64 8 7
' 0.12 1 0
' -0.12 0 -1
' -7.1 -7 -8
' -7.6 -7 -8
詳しくは、MSDNライブラリの
Math.Floor メソッドを参照
2010年11月11日木曜日
.NET 指定した文字セットでの文字列のバイト数を調べる
Encoding.GetByteCount メソッド (String)
派生クラスでオーバーライドされた場合、指定した String に含まれる文字をエンコードすることによって生成されるバイト数を計算します。
'宣言
Public Overridable Function GetByteCount ( _
s As String _
) As Integer
'使用
Dim instance As Encoding
Dim s As String
Dim returnValue As Integer
returnValue = instance.GetByteCount(s)
パラメータs
型 : System.String
エンコード対象の文字のセットを格納している String。
戻り値
型 : System.Int32
指定した文字をエンコードすることによって生成されるバイト数。
使用例
value = System.Text.Encoding.GetEncoding("shift-jis").GetByteCount(str1)
ここではGetEncodingで文字セットの名前を指定し
その文字セットでstr1をエンコードした時のバイト数をGetByteCountで取得している。
詳しくは、MSDNライブラリの
Encoding.GetByteCount メソッドとEncoding.GetEncoding メソッドを参照
派生クラスでオーバーライドされた場合、指定した String に含まれる文字をエンコードすることによって生成されるバイト数を計算します。
'宣言
Public Overridable Function GetByteCount ( _
s As String _
) As Integer
'使用
Dim instance As Encoding
Dim s As String
Dim returnValue As Integer
returnValue = instance.GetByteCount(s)
パラメータs
型 : System.String
エンコード対象の文字のセットを格納している String。
戻り値
型 : System.Int32
指定した文字をエンコードすることによって生成されるバイト数。
使用例
value = System.Text.Encoding.GetEncoding("shift-jis").GetByteCount(str1)
ここではGetEncodingで文字セットの名前を指定し
その文字セットでstr1をエンコードした時のバイト数をGetByteCountで取得している。
詳しくは、MSDNライブラリの
Encoding.GetByteCount メソッドとEncoding.GetEncoding メソッドを参照
.NET 文字列の一部が一致しているか調べる
文字列の一部が一致しているか調べる
String.IndexOfメソッドは、その文字列内に指定した文字列と一致する部分があるかを探し、見つかったら、最初に見つかった位置を0以上の整数で返します。見つからなければ、-1を返します。
String.LastIndexOfメソッドは、最後に見つかる位置を返します。
[VB.NET]
Dim s1 As String = "あいうえおあいうえお"
Console.WriteLine(s1.IndexOf("あい")) '結果は"0"
Console.WriteLine(s1.LastIndexOf("あい")) '結果は"5"
Console.WriteLine(s1.IndexOf("アイ")) '結果は"-1"
Console.WriteLine(s1.IndexOf("")) '結果は"0"
Console.WriteLine(s1.LastIndexOf("")) '結果は"9"
DOBON.NETの
2つの文字列が等しいかを調べるページ内から抜粋
String.IndexOfメソッドは、その文字列内に指定した文字列と一致する部分があるかを探し、見つかったら、最初に見つかった位置を0以上の整数で返します。見つからなければ、-1を返します。
String.LastIndexOfメソッドは、最後に見つかる位置を返します。
[VB.NET]
Dim s1 As String = "あいうえおあいうえお"
Console.WriteLine(s1.IndexOf("あい")) '結果は"0"
Console.WriteLine(s1.LastIndexOf("あい")) '結果は"5"
Console.WriteLine(s1.IndexOf("アイ")) '結果は"-1"
Console.WriteLine(s1.IndexOf("")) '結果は"0"
Console.WriteLine(s1.LastIndexOf("")) '結果は"9"
DOBON.NETの
2つの文字列が等しいかを調べるページ内から抜粋
2010年11月10日水曜日
.NET 1次元配列を指定したオブジェクトで検索し、その中で最も小さいインデックス番号を返す。
Array.IndexOf ジェネリック メソッド (T[], T)
Array 全体を対象に指定したオブジェクトを検索し、インデックス番号の最も小さい要素のインデックスを返します。
戻り値
array 全体を対象に value を検索し、見つかった場合は、インデックス番号の最も小さい要素の 0 から始まるインデックス番号。それ以外の場合は –1。
例外
例外の種類
ArgumentNullException
条件
array が null 参照 (Visual Basic では Nothing) です。
使用例
Imports System
Public Class Example
Public Shared Sub Main()
Dim dinosaurs() As String = { "Tyrannosaurus", _
"Amargasaurus", _
"Mamenchisaurus", _
"Brachiosaurus", _
"Deinonychus", _
"Tyrannosaurus", _
"Compsognathus" }
Console.WriteLine()
For Each dinosaur As String In dinosaurs
Console.WriteLine(dinosaur)
Next
Console.WriteLine(vbLf & _
"Array.IndexOf(dinosaurs, ""Tyrannosaurus""): {0}", _
Array.IndexOf(dinosaurs, "Tyrannosaurus"))
Console.WriteLine(vbLf & _
"Array.IndexOf(dinosaurs, ""Tyrannosaurus"", 3): {0}", _
Array.IndexOf(dinosaurs, "Tyrannosaurus", 3))
Console.WriteLine(vbLf & _
"Array.IndexOf(dinosaurs, ""Tyrannosaurus"", 2, 2): {0}", _
Array.IndexOf(dinosaurs, "Tyrannosaurus", 2, 2))
End Sub
End Class
' This code example produces the following output:
'
'Tyrannosaurus
'Amargasaurus
'Mamenchisaurus
'Brachiosaurus
'Deinonychus
'Tyrannosaurus
'Compsognathus
'
'Array.IndexOf(dinosaurs, "Tyrannosaurus"): 0
'
'Array.IndexOf(dinosaurs, "Tyrannosaurus", 3): 5
'
'Array.IndexOf(dinosaurs, "Tyrannosaurus", 2, 2): -1
詳しくは、MSDNライブラリの
Array.IndexOf ジェネリック メソッドを参照
Array 全体を対象に指定したオブジェクトを検索し、インデックス番号の最も小さい要素のインデックスを返します。
戻り値
array 全体を対象に value を検索し、見つかった場合は、インデックス番号の最も小さい要素の 0 から始まるインデックス番号。それ以外の場合は –1。
例外
例外の種類
ArgumentNullException
条件
array が null 参照 (Visual Basic では Nothing) です。
使用例
Imports System
Public Class Example
Public Shared Sub Main()
Dim dinosaurs() As String = { "Tyrannosaurus", _
"Amargasaurus", _
"Mamenchisaurus", _
"Brachiosaurus", _
"Deinonychus", _
"Tyrannosaurus", _
"Compsognathus" }
Console.WriteLine()
For Each dinosaur As String In dinosaurs
Console.WriteLine(dinosaur)
Next
Console.WriteLine(vbLf & _
"Array.IndexOf(dinosaurs, ""Tyrannosaurus""): {0}", _
Array.IndexOf(dinosaurs, "Tyrannosaurus"))
Console.WriteLine(vbLf & _
"Array.IndexOf(dinosaurs, ""Tyrannosaurus"", 3): {0}", _
Array.IndexOf(dinosaurs, "Tyrannosaurus", 3))
Console.WriteLine(vbLf & _
"Array.IndexOf(dinosaurs, ""Tyrannosaurus"", 2, 2): {0}", _
Array.IndexOf(dinosaurs, "Tyrannosaurus", 2, 2))
End Sub
End Class
' This code example produces the following output:
'
'Tyrannosaurus
'Amargasaurus
'Mamenchisaurus
'Brachiosaurus
'Deinonychus
'Tyrannosaurus
'Compsognathus
'
'Array.IndexOf(dinosaurs, "Tyrannosaurus"): 0
'
'Array.IndexOf(dinosaurs, "Tyrannosaurus", 3): 5
'
'Array.IndexOf(dinosaurs, "Tyrannosaurus", 2, 2): -1
詳しくは、MSDNライブラリの
Array.IndexOf ジェネリック メソッドを参照
2010年11月4日木曜日
Oracle データベースへの接続・再接続 OS 認証で SYSDBA に接続
データベースへの接続・再接続
CONNECT はデータベースにログイン/ログオンを行なうためのコマンド
短縮形は CONN
OS 認証で SYSDBA に接続する例
SQL> connect / as sysdba
接続されました。
SQL>
詳しくは、
SHIFT the Oracle 内の下記記事参照の事
データベースへの接続・再接続
CONNECT はデータベースにログイン/ログオンを行なうためのコマンド
短縮形は CONN
OS 認証で SYSDBA に接続する例
SQL> connect / as sysdba
接続されました。
SQL>
詳しくは、
SHIFT the Oracle 内の下記記事参照の事
データベースへの接続・再接続
.NET 文字列が数字に変換できるか調べる
文字列が数字に変換できるか調べる
.TryParseメソッドを使用した方法
Dim str As String = "-12.34"
Dim d As Double
'doubleに変換できるか確かめる
If Double.TryParse(str, _
System.Globalization.NumberStyles.Any, _
System.Globalization.NumberFormatInfo.InvariantInfo, _
d) Then
Console.WriteLine("{0}は数字です。", str)
Else
Console.WriteLine("{0}は数字ではありません。", str)
End If
.NET Framework 2.0以降では、Double以外の多くの型でTryParseメソッドを使用できるようになりました。
DOBON.NETの
文字列が数字に変換できるか調べるから抜粋
.TryParseメソッドを使用した方法
Dim str As String = "-12.34"
Dim d As Double
'doubleに変換できるか確かめる
If Double.TryParse(str, _
System.Globalization.NumberStyles.Any, _
System.Globalization.NumberFormatInfo.InvariantInfo, _
d) Then
Console.WriteLine("{0}は数字です。", str)
Else
Console.WriteLine("{0}は数字ではありません。", str)
End If
.NET Framework 2.0以降では、Double以外の多くの型でTryParseメソッドを使用できるようになりました。
DOBON.NETの
文字列が数字に変換できるか調べるから抜粋
.NET パスから情報を取得する
パスからファイル名、拡張子、ディレクトリ名、ルートディレクトリ名等の情報を取得する
[VB.NET]
'ディレクトリ名の取得
Console.WriteLine( _
System.IO.Path.GetDirectoryName( _
"C:\My Documents\My Pictures\サンプル.jpg"))
'結果: C:\My Documents\My Pictures
'拡張子の取得
Console.WriteLine( _
System.IO.Path.GetExtension( _
"C:\My Documents\My Pictures\サンプル.jpg"))
'結果: .jpg
'ファイル名の取得
Console.WriteLine( _
System.IO.Path.GetFileName( _
"C:\My Documents\My Pictures\サンプル.jpg"))
'結果: サンプル.jpg
'ファイル名(拡張子なし)の取得
Console.WriteLine _
(System.IO.Path.GetFileNameWithoutExtension( _
"C:\My Documents\My Pictures\サンプル.jpg"))
'結果: サンプル
'ルートディレクトリ名の取得
Console.WriteLine( _
System.IO.Path.GetPathRoot( _
"C:\My Documents\My Pictures\サンプル.jpg"))
'結果: C:\
DOBON.NETの
パスからファイル名、拡張子、ディレクトリ名、ルートディレクトリ名等の情報を取得するから抜粋
[VB.NET]
'ディレクトリ名の取得
Console.WriteLine( _
System.IO.Path.GetDirectoryName( _
"C:\My Documents\My Pictures\サンプル.jpg"))
'結果: C:\My Documents\My Pictures
'拡張子の取得
Console.WriteLine( _
System.IO.Path.GetExtension( _
"C:\My Documents\My Pictures\サンプル.jpg"))
'結果: .jpg
'ファイル名の取得
Console.WriteLine( _
System.IO.Path.GetFileName( _
"C:\My Documents\My Pictures\サンプル.jpg"))
'結果: サンプル.jpg
'ファイル名(拡張子なし)の取得
Console.WriteLine _
(System.IO.Path.GetFileNameWithoutExtension( _
"C:\My Documents\My Pictures\サンプル.jpg"))
'結果: サンプル
'ルートディレクトリ名の取得
Console.WriteLine( _
System.IO.Path.GetPathRoot( _
"C:\My Documents\My Pictures\サンプル.jpg"))
'結果: C:\
DOBON.NETの
パスからファイル名、拡張子、ディレクトリ名、ルートディレクトリ名等の情報を取得するから抜粋
2010年11月2日火曜日
便利なCSV Editor「Cassava Editor」
ExcelでCSVを読込むと、電話番号などの
頭に0が付く数値の文字列は頭の0が消されてしまう
(例
045 → 45
Cassava Editorではそのような事は起こらないできちんと読込んで処理してくれる。
ありがたいエディターである。
詳しくは
あすかぜ・ねっとの
Cassava Editorを参照の事
頭に0が付く数値の文字列は頭の0が消されてしまう
(例
045 → 45
Cassava Editorではそのような事は起こらないできちんと読込んで処理してくれる。
ありがたいエディターである。
詳しくは
あすかぜ・ねっとの
Cassava Editorを参照の事
Oracle DBの文字列のサイズ単位の確認と指定方法
確認方法
NLS_* パラメータの現在の値を調べる
V$NLS_PARAMETERS ビューに格納されている。
SQL> select * from v$nls_parameters;
上記を実行し下記の内容で判断
NLS_LENGTH_SEMANTICS BYTE
ならばByte単位の指定
変更方法
NLS_LENGTH_SEMANTICS
NLS_LENGTH_SEMANTICS を 'CHAR' にすると文字列の指定は CHAR 単位になる。BYTE 単位にしたい場合には明示的に指定しなければならない。
SQL> ALTER SESSION SET NLS_LENGTH_SEMANTICS='CHAR';
上記実行で変更される。
BYTE単位の明示的な指定例
SQL> CREATE TABLE CHARBASE_TABLE(
2 NAME1 VARCHAR2(5),
3 NAME2 VARCHAR2(5 BYTE)
4 );
3行目でBYTE単位の明示的な指定
詳しくは、
SHIFT the Oracle 内の下記記事参照の事
NLS 関連初期化パラメータ(NLS 環境変数)
NLS_* パラメータの現在の値を調べる
V$NLS_PARAMETERS ビューに格納されている。
SQL> select * from v$nls_parameters;
上記を実行し下記の内容で判断
NLS_LENGTH_SEMANTICS BYTE
ならばByte単位の指定
変更方法
NLS_LENGTH_SEMANTICS
NLS_LENGTH_SEMANTICS を 'CHAR' にすると文字列の指定は CHAR 単位になる。BYTE 単位にしたい場合には明示的に指定しなければならない。
SQL> ALTER SESSION SET NLS_LENGTH_SEMANTICS='CHAR';
上記実行で変更される。
BYTE単位の明示的な指定例
SQL> CREATE TABLE CHARBASE_TABLE(
2 NAME1 VARCHAR2(5),
3 NAME2 VARCHAR2(5 BYTE)
4 );
3行目でBYTE単位の明示的な指定
詳しくは、
SHIFT the Oracle 内の下記記事参照の事
NLS 関連初期化パラメータ(NLS 環境変数)
OracleDB10gExpressEditionのキャラセットをJA16SJISTILDEにする方法
フィールド名等に日本語を使用出来るようにする為、OracleDB10gExpressEditonのキャラセットを、
ユニコード等から変更する方法
Oracle Database 10g Express Edition ( XE )のキャラセットを JA16SJISTILDEにする方法
上記を参考にすれば他の文字コードにも変更可能
この作業を行うと、インストールされて使えていたブラウザからのDBアクセスが使用不可になる。
その回避方法は不明。
ユニコード等から変更する方法
Oracle Database 10g Express Edition ( XE )のキャラセットを JA16SJISTILDEにする方法
上記を参考にすれば他の文字コードにも変更可能
この作業を行うと、インストールされて使えていたブラウザからのDBアクセスが使用不可になる。
その回避方法は不明。
登録:
投稿 (Atom)