我有以下代码来解析一个名为str的String变量.
NumberFormat formatter = NumberFormat.getInstance();
Number number = formatter.parse(str);
Run Code Online (Sandbox Code Playgroud)
我想捕获当str不是一个数字时抛出的异常只是为了验证它.我遇到的问题是它并不总是抛出预期的ParseException.当String str以数字开头但后来是字符时,它似乎得到字符串的第一个字符并将它们解析为数字.
例如:
我不能使用Double.parseDouble(str),因为str可以有逗号和点,如1,000.98,这种方法不能理解这种格式.
为什么会这样?我可以用其他方式验证吗?谢谢
当我从sqlite数据库中检索图像时,我的Bitmap对象bm返回null值可以帮助我吗?
我在我的数据库中发现了问题..
当我将字节数组存储在数据库表中的blob数据类型中时,字节数组的大小为2280 ..
但是当我使用select查询检索该blob数据类型时,我得到大小为12的字节数组.
我的代码是:
// Inserting data in database
byte[] b;
ByteArrayOutputStream baos = new ByteArrayOutputStream();
Bitmap bm = BitmapFactory.decodeResource(getResources(),R.drawable.icon);
bm.compress(Bitmap.CompressFormat.PNG, 100, baos); //bm is the bitmap object
b = baos.toByteArray();
//here b size is 2280
baos.close();
try
{
mDB = this.openOrCreateDatabase(MY_DATABASE_NAME, MODE_PRIVATE, null);
mDB.execSQL("CREATE TABLE IF NOT EXISTS "
+ MY_DATABASE_TABLE
+ " (PICTURE BLOB);");
mDB.execSQL("INSERT INTO "
+ MY_DATABASE_TABLE
+ " (PICTURE)"
+ " VALUES ('"+b+"');");
}
catch(Exception e)
{
Log.e("Error", "Error", e);
} …Run Code Online (Sandbox Code Playgroud) 我SqlException在.NET 3.5应用程序的日志中得到一个,我正在寻找相应的数字(属性的值SqlException.Number).
System.Data.SqlClient.SqlException: A transport-level error has occurred
when receiving results from the server. (provider: TCP Provider, error: 0
- The specified network name is no longer available.) at
System.Data.SqlClient.SqlConnection.OnError
Run Code Online (Sandbox Code Playgroud)
我也得到错误,例如:
System.Data.SqlClient.SqlException: A network-related or instance-specific error
occurred while establishing a connection to SQL Server. The server was not found
or was not accessible. Verify that the instance name is correct and that SQL Server
is configured to allow remote connections.
Run Code Online (Sandbox Code Playgroud)
有谁知道如何正确捕捉这些例外?(你也可以在这里发表你的答案)
我希望将权限存储在一个位集中,以便在Java中有效地比较它们.1表示授予许可,0表示拒绝.如果执行授权,则将所需权限与权限集进行比较.
我的想法是使用AND并将结果与请求的权限进行比较.
例:
0010 1101 Granted Permissions
AND 0000 0101 Requested Permissions
= 0000 0101 Result
if (Result == Requested Permissions)
allow
else
deny
Run Code Online (Sandbox Code Playgroud)
这可以更有效或更简单吗?
我正在查看一些C源代码,我不明白以下部分
#if 1
typedef unsigned short PronId;
typedef unsigned short LMId;
# define LM_NGRAM_INT
#else
typedef unsigned int LMId;
typedef unsigned int PronId;
# undef LM_NGRAM_INT
#endif
Run Code Online (Sandbox Code Playgroud)
有人会这样做#if 1吗?难道只有第一个块会被处理吗?
我想在我的应用中显示电池电量统计信息.我们如何获得电池电量,电池电压等信息?
假设有一个从控制台输入的列表 <STDIN>
@string = <STDIN>;
Run Code Online (Sandbox Code Playgroud)
现在,我/manu/在我的程序中检查一个模式
foreach (@string)
{
if(/manu/)
{
print $_."\n";
}
}
Run Code Online (Sandbox Code Playgroud)
代码无法查找模式 /manu/.
但是,当我执行以下操作时,代码完全正常:
chomp(@string = <STDIN>);
Run Code Online (Sandbox Code Playgroud)
为什么?
我正在为我在Haskell中编写的基本编译器制作一个扫描程序.其中一个要求是用单引号(')括起来的任何字符都被翻译成字符文字标记(类型为T_Char),这包括转义序列,如'\n'和'\ t'.我已经定义了扫描仪功能的这一部分,在大多数情况下都可以正常工作:
scanner ('\'':cs) | (length cs) == 0 = error "Illegal character!"
| head cs == '\\' = mkEscape (head (drop 1 cs)) : scanner (drop 3 cs)
| head (drop 1 cs) == '\'' = T_Char (head cs) : scanner (drop 2 cs)
where
mkEscape :: Char -> Token
mkEscape 'n' = T_Char '\n'
mkEscape 'r' = T_Char '\r'
mkEscape 't' = T_Char '\t'
mkEscape '\\' = T_Char '\\'
mkEscape '\'' = T_Char '\''
Run Code Online (Sandbox Code Playgroud)
但是,当我在GHCi中运行它时会出现这种情况:
Main> scanner "abc …Run Code Online (Sandbox Code Playgroud) 我想使用Word Viewer将Word文档保存为HTML,而不在我的计算机中安装Word.有没有办法在C#中实现这一目标?